如何使用无Cookie身份验证实现SlidingExpiration?可能吗

时间:2013-10-01 11:02:29

标签: asp.net

是否可以在asp.net中使用cookieless身份验证实现滑动到期。这是我的web.config身份验证部分:

 <authentication mode="Forms">
   <forms loginUrl="login.aspx"
          protection="All"
           timeout="2880"
           name=".USERLOGINCONTROLAUTH"
           path="/"
           requireSSL="false"
           slidingExpiration="true"
           defaultUrl="login.aspx"
           cookieless="false"
           enableCrossAppRedirects="false"/>
  </authentication>

我尝试将slidingExpiration属性设置为true但没有运气。后来我也通过了MSDN文档,它说它延长了有效cookie的超时。请帮忙。非常感谢提前!

1 个答案:

答案 0 :(得分:0)

根据我在MSDN documentation中看到的,cookieless属性的唯一有效设置是UseUri,UseCookies,AutoDetect和UseDeviceProfile。此外,我发现this post表示您不应在没有Cookie的情况下暂停过期。

  

问题在于使用cookieless表单身份验证,票证   实际上是Url的一部分。当超时更新时   ticket,表示票证的序列化文本表示   也有变化。因此,我们需要更改Url本身以反映   新的价值。与cookie不同,您无法在服务器上重写Url   并让客户端透明地接收新的Url。相反,你   必须强制重定向,因为重定向强制浏览器   重新加载文档并更新您在地址中看到的Url   杆