我刚刚使用 FormsAuthentication,我想要 Web 配置中表单身份验证标记的超时属性值。在 4.0 中,我们可以通过 FormsAuthentication.Timeout.TotalMinutes 获取此信息(参考:FormsAuthenticationTicket.expiration v web.config 值超时 https://stackoverflow.com/questions/5171637/formsauthenticationticket-expiration-v-web-config-value-timeout)你能让我知道如何在 .NET 2.0 中获得相同的效果吗?
看一眼Microsoft Connect 网站上有此问题 https://connect.microsoft.com/VisualStudio/feedback/details/102290/expose-forms-authentication-timeout-as-a-public-static-property。它被关闭为“不会修复”,但看起来它已在 .NET 4 中修复。
在 .NET 2.0 或 3.x 中执行此操作的一种方法是发出并检查 FormsAuthentication 票证:
FormsAuthentication.SetAuthCookie("user", false);
HttpCookie cookie = (HttpCookie)(Request.Cookies[FormsAuthentication.FormsCookieName]);
FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(cookie.Value);
int timeoutInMinutes = (ticket.Expiration - ticket.IssueDate).TotalMinutes;
另一种是使用配置 API:
Configuration config = Configuration.OpenWebConfiguration(HttpRuntime.AppDomainAppPath);
AuthenticationSection section =
(AuthenticationSection)config.GetSection("system.web/authentication");
int timeout = section.Forms.Timeout.TotalMinutes;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)