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