【问题标题】:FormsAuthentication.Timeout.TotalMinutes in .NET 3.5.NET 3.5 中的 FormsAuthentication.Timeout.TotalMinutes
【发布时间】:2012-03-07 10:55:18
【问题描述】:

我刚刚使用 FormsAuthentication,我想要 web 配置中表单身份验证标签的 timeout 属性的值。在 4.0 中,我们可以通过 FormsAuthentication.Timeout.TotalMinutes 获得这个(参考:FormsAuthenticationTicket.expiration v web.config value timeout)你能告诉我如何在 .NET 2.0 中获得同样的结果吗?

【问题讨论】:

    标签: c# .net c#-3.0


    【解决方案1】:

    看看this issue on Microsoft's Connect site。它以“不会修复”的形式关闭,但看起来它已在 .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;
    

    【讨论】:

      猜你喜欢
      • 2014-08-25
      • 2012-04-24
      • 1970-01-01
      • 2012-11-24
      • 2011-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多