【问题标题】:How to achieve SlidingExpiration with Cookieless Authentication? Is it possible如何使用无 Cookie 身份验证实现 SlidingExpiration?是否可以
【发布时间】:2013-10-01 11:02:29
【问题描述】:

是否可以在 asp.net 中使用无 cookie 身份验证实现滑动过期。这是我的 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 的超时时间。请帮忙。提前非常感谢!

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    根据我在MSDN documentation 中看到的内容,cookieless 属性的唯一有效设置是 UseUri、UseCookies、AutoDetect 和 UseDeviceProfile。此外,我发现 this post 表明您不应该在没有 cookie 的情况下滑动过期时间。

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

    【讨论】:

      猜你喜欢
      • 2019-06-28
      • 1970-01-01
      • 2016-06-29
      • 1970-01-01
      • 1970-01-01
      • 2017-05-06
      • 2013-11-29
      • 2017-02-20
      • 1970-01-01
      相关资源
      最近更新 更多