Я добавляю предупреждение о выходе из системы для моего приложения и хотел бы получить доступ к моему значению "timeout" для моего веб-сайта. Как я могу это сделать?
.net Access Forms аутентификация "тайм-аут" в коде
Ответ 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 %>;
Ответ 5
Вы можете разобрать его непосредственно из файла web.config.
Ответ 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();
Пожалуйста, отметьте это как правильно, если вы нашли правильный ответ