【问题标题】:Nancy authentication session timeoutNancy 身份验证会话超时
【发布时间】:2015-08-18 13:50:20
【问题描述】:

我正在使用 Nancy.Authentication.Forms。用户大声抱怨他们的会话超时太快(不到 5 分钟)。我搜索了高低,但找不到如何将会话超时时间设置为一小时。非常感谢任何帮助。

谢谢,

罗斯

【问题讨论】:

    标签: session timeout nancy


    【解决方案1】:

    由于提供的信息很少,我不能 100% 确定是什么原因造成的。但我认为您的问题可能是由于 cookie 的加密/解密造成的。

    Cookie 加密在应用程序启动时有所不同

    默认情况下,每次启动应用都会创建一个新的密钥,这会导致 cookie 解密失败,导致认证失败,需要重新认证才能创建新的 cookie。

    通过设置您自己的密钥,每次重启后解密将始终相同。如果您有负载均衡器,这非常重要。

    https://github.com/NancyFx/Nancy/wiki/Forms-Authentication#a-word-on-cryptography

    【讨论】:

      【解决方案2】:

      由于我也没有找到答案,所以我想发布我的研究结果:

      WithCookie 接受过期日期时间。

      https://github.com/NancyFx/Nancy/blob/a9989a68db1c822d897932b2af5689284fe2ceb8/src/Nancy/ResponseExtensions.cs

      public static Response WithCookie(this Response response, string name, string value, DateTime? expires);
      

      在我的情况下是:

      return Response.AsRedirect(redirectUrl)
                     .WithCookie(SecurityExtensions.CookieName,  newSession.Id.ToString(), DateTime.Now.AddHours(1));
      

      对于会话持续时间本身,我还没有找到任何东西。

      【讨论】:

        猜你喜欢
        • 2019-07-26
        • 2011-10-18
        • 2010-12-02
        • 1970-01-01
        • 2010-12-01
        • 2010-10-02
        • 2018-11-16
        • 2013-10-22
        • 1970-01-01
        相关资源
        最近更新 更多