如何使用超时创建非持久性表单身份验证cookie?

时间:2012-09-25 09:27:45

标签: asp.net-mvc-3 cookies forms-authentication

我正在使用表单身份验证并创建非持久性cookie。

当我关闭浏览器时,cookie会过期,这是预期的行为。但即使应用程序在指定的超时空闲后,cookie也不会过期。我的要求是,当用户关闭浏览器或超时​​时,cookie应该到期。

我使用的是Asp.Net MVC4。有什么方法可以达到这两个要求。

1 个答案:

答案 0 :(得分:2)

如果您不希望在每次请求时自动续订Cookie,则可能需要关闭slidingExpiration

<authentication mode="Forms">
    <forms 
        loginUrl="~/Account/LogOn"
        cookieless="UseCookies"
        slidingExpiration="false" 
        timeout="1"
    />
</authentication>

现在1分钟后,cookie将过期,用户将不再在后续请求中进行身份验证。 cookie将由客户端浏览器发送,但FormsAuthentication模块将检测到cookie已过期并拒绝该请求。