【发布时间】:2015-08-18 13:50:20
【问题描述】:
我正在使用 Nancy.Authentication.Forms。用户大声抱怨他们的会话超时太快(不到 5 分钟)。我搜索了高低,但找不到如何将会话超时时间设置为一小时。非常感谢任何帮助。
谢谢,
罗斯
【问题讨论】:
我正在使用 Nancy.Authentication.Forms。用户大声抱怨他们的会话超时太快(不到 5 分钟)。我搜索了高低,但找不到如何将会话超时时间设置为一小时。非常感谢任何帮助。
谢谢,
罗斯
【问题讨论】:
由于提供的信息很少,我不能 100% 确定是什么原因造成的。但我认为您的问题可能是由于 cookie 的加密/解密造成的。
Cookie 加密在应用程序启动时有所不同
默认情况下,每次启动应用都会创建一个新的密钥,这会导致 cookie 解密失败,导致认证失败,需要重新认证才能创建新的 cookie。
通过设置您自己的密钥,每次重启后解密将始终相同。如果您有负载均衡器,这非常重要。
https://github.com/NancyFx/Nancy/wiki/Forms-Authentication#a-word-on-cryptography
【讨论】:
由于我也没有找到答案,所以我想发布我的研究结果:
WithCookie 接受过期日期时间。
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));
对于会话持续时间本身,我还没有找到任何东西。
【讨论】: