如何关闭IIS中的凭据缓存?

时间:2013-11-07 15:52:46

标签: asp.net asp.net-mvc iis

我最近在MVC4中构建了一个使用CAC身份验证的Web应用程序。一切都工作正常,除了我的应用程序并不总是每次都进入登录操作结果。我意识到原因是因为IIS第一次缓存我的凭据,我不希望它这样做。如何让IIS保持缓存我的登录凭据,但保持我的图像,css,javascript缓存?

1 个答案:

答案 0 :(得分:1)

IIS不应该缓存您的凭据,当您关闭并重新打开网站时,登录cookie尚未过期。我正在尝试查找有关通用访问卡身份验证的信息,但我认为它与表单身份验证非常相似。

当有人登录您的网站时,您的网站会发出加密的Cookie。此Cookie随每个请求一起发送到您的网站,以便授权用户执行您的操作。

在您的web.config中,有一个部分可以处理此Cookie的有效期以及您的登录网址等项目。

<authentication mode="Forms">
   <forms loginUrl="~/User/Account/Login" timeout="2880" />
</authentication>

超时属性是cookie保持有效的时间(以分钟为单位)。因此,在同一浏览器中,只要cookie未过期,用户就不必再次登录。我相信默认超时是20分钟并且有“滑动到期”,这意味着只要用户在您的网站上执行操作,Cookie的到期时间将继续滑出,从而使您的网站无法将活跃用户踢回使用您的应用程序时的登录页面。