我正在开发一个 C# MVC 应用程序,我似乎无法让身份验证和会话超时同步。我有一个基本的表单身份验证设置和一些有限的会话值。我将身份验证超时设置为小于会话(28 分钟对 30 分钟),但针对开发 Web 服务器运行,会话将在服务器重新启动时被擦除,但身份验证仍然存在。我假设身份验证存储在一个显然在服务器重新启动后仍然存在的 cookie 中。
<authentication mode="Forms" >
<forms loginUrl="~/Account/Login" timeout="28" />
</authentication>
<sessionState timeout="30" />
我想如果 Session 为空,我想强制身份验证超时,然后强制登录。
那是我真正想做的吗?如果是这样,我该如何以及在哪里执行此操作?
如果不是,那么处理此问题的正确方法是什么?
编辑
对于更多的观点,我还为同一个项目发布了这个问题:登录为...最佳实践?