.net Access Forms аутентификация "тайм-аут" в коде

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

Ответ 1

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

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

Ответ 2

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

FormsAuthentication.Timeout.TotalMinutes

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

Ответ 3

 Configuration conn = WebConfigurationManager.OpenWebConfiguration("");

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



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

Ответ 4

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

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

Ответ 6

Этот код предоставит вам 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();

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