Значение "timeout" для проверки подлинности.net Access Forms в коде

Я добавляю предупреждение об истечении срока выхода из системы в свое приложение и хотел бы получить доступ к моему значению "timeout" для проверки подлинности с помощью форм web.config из моего кода. Как я могу это сделать?

6 ответов

Я думаю, что вы можете прочитать его из статических методов класса FormsAuthentication, что было бы лучше, чем делать это, читая непосредственно файл web.config, поскольку вы можете наследовать параметры аутентификации от более высокого уровня web.config.

var authTicket = new FormsAuthenticationTicket(user.EmailAddress, true, (int)FormsAuthentication.Timeout.TotalMinutes);

Вы можете получить доступ к web.config's timeout значение в:

FormsAuthentication.Timeout.TotalMinutes

Я не знаю с тех пор, когда это доступно, я использую.NET 4.5.

 Configuration conn = WebConfigurationManager.OpenWebConfiguration("");

            AuthenticationSection section = (AuthenticationSection)conn.SectionGroups.Get("system.web").Sections.Get("authentication");



            long cookieExpires = System.Convert.ToInt64(section.Forms.Timeout.TotalMinutes);

Вы можете получить к нему доступ из своего Javascript, используя следующее:

var expireTime = <%= FormsAuthentication.Timeout.TotalMinutes %>;

Этот код даст вам timeout в минутах от AuthenticationSection раздел, присутствующий в файле Web.Config вашего текущего проекта,

Configuration conn = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
AuthenticationSection section = (AuthenticationSection)conn.SectionGroups.Get("system.web").Sections.Get("authentication");
FormsAuthenticationConfiguration currentForms = section.Forms;
int timeout = currentForms.Timeout.Minutes;
txtAppSessionTimeout.Text = timeout.ToString();

Пожалуйста, отметьте его как правильный, если вы нашли правильный ответ

Другие вопросы по тегам