【问题标题】:What will happen to asp.net membership if the client browser is not accepting cookies如果客户端浏览器不接受 cookie,asp.net 成员资格会怎样
【发布时间】:2011-07-28 15:09:51
【问题描述】:

这件事刚刚出现在我的脑海中,我想分享它。

注意我可以很容易地测试它,但我懒得在这里看看是否有人曾经经历过类似的事情。

假设我有一个网站,它已经实现了 asp.net 的内置成员结构。

如果客户端浏览器阻止 cookie,asp.net 成员资格会怎样?当用户尝试登录或执行其他操作时,框架是否会抛出异常?

【问题讨论】:

    标签: asp.net asp.net-mvc cookies asp.net-membership


    【解决方案1】:

    这不是问题。检查ASP.NET cookieless sessions.

    【讨论】:

    • 这不是与会话部分无关吗?例如,您根本不必使用 sessionState 来使用表单身份验证...
    • 所以,我们只需要在 web.config 中添加这个小东西,对吧? <sessionState cookieless="true" />
    【解决方案2】:

    对于无 cookie 浏览器,asp.net 提供会话 ID 以嵌入 URL;

    http://msdn.microsoft.com/en-us/library/aa479314.aspx

    非常简单的测试;只需在 web.config 中更改

    <sessionState cookieless="true" />
    

    【讨论】:

      【解决方案3】:

      为了回答您的问题,我认为不会引发任何异常,但如果客户端不接受 cookie(阻止它们等),那么我认为它们将继续被重定向到登录页面,因为没有经过身份验证的 cookie将与任何请求一起发送...例如每个请求都会出现未经身份验证...如果资源不需要身份验证,一切都会正常...

      编辑
      如果你想要 cookieless forms authenticationthis MSDN article 解释了如何......你基本上会添加:

      <forms cookieless="UseUri" />
      

      不过,您也许可以尝试 AutoDetect,它会在可能的情况下使用 cookie

      <forms cookieless="AutoDetect" />
      

      【讨论】:

      • 鉴于这种情况,您的回答部分正确。如果我们没有实现@waqas 建议的功能,它会按照您的指示发生。
      • @tugberk 更新到了我所说的更多内容......我不确定我是否错过了重点,但听起来你更像是关心身份验证而不是会话状态(服务器端数据存储)
      • 是的,我的目的是找出在这种情况下身份验证会发生什么。
      猜你喜欢
      • 2014-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-24
      相关资源
      最近更新 更多