我正在使用表单身份验证并创建一个非持久性 cookie。
当我关闭浏览器时,cookie 过期,这是预期的行为。但是即使应用程序在指定的超时时间内处于空闲状态,cookie 也不会过期。我的要求是,当用户关闭浏览器或超时时间已过时,cookie 应该过期。
我正在使用 Asp.Net MVC4。有什么办法可以同时满足这两个要求。
我正在使用表单身份验证并创建一个非持久性 cookie。
当我关闭浏览器时,cookie 过期,这是预期的行为。但是即使应用程序在指定的超时时间内处于空闲状态,cookie 也不会过期。我的要求是,当用户关闭浏览器或超时时间已过时,cookie 应该过期。
我正在使用 Asp.Net MVC4。有什么办法可以同时满足这两个要求。
slidingExpiration
如果您不希望在每次请求时自动更新 cookie,则可能需要关闭:
<authentication mode="Forms">
<forms
loginUrl="~/Account/LogOn"
cookieless="UseCookies"
slidingExpiration="false"
timeout="1"
/>
</authentication>
现在 1 分钟后 cookie 将过期,用户将不再在后续请求中进行身份验证。cookie 将由客户端浏览器发送,但 FormsAuthentication 模块将检测到 cookie 已过期并拒绝请求。