【问题标题】:Cookie is not saved in Browser Cookie : Forms AuthenticationCookie 未保存在浏览器 Cookie 中:表单身份验证
【发布时间】:2020-08-06 08:07:30
【问题描述】:

我遇到了奇怪的问题。我在 ASP.NET 中使用表单身份验证。验证用户后,我正在使用以下代码。

FormsAuthentication.SetAuthCookie(requestInfo.Username, requestInfo.RememberMe);

在浏览器中,我可以获取 Set-Cookie 标头。

Set-Cookie: .ASPXAUTH=3FEC1547348829DD49CC997DCE03489A6CB8B78AF6681A34DB270F4897F8E8A909CA063651252246164256C317AEF4C702DCC0877C3926FF754EF1254FDF137913178B87FEAAE4067B664CD8E56B908CDE8928D570AF81DA6720FC129E8A24F9C2A4CE53B1D95E58E910A1ABABAC7F9E7EB3FBA65C956B8F38BDBEF5111F51F15490CB5A07CEF3996C8A78B5430DB973C43BE0DA3F5386D1697A24B1486C; expires=Thu, 23-Apr-2020 09:10:21 GMT; path=/; HttpOnly

但是 Cookie 没有保存在浏览器的 Cookie 中。我试过 localhost、127.0.0.1 和 192.168.0.5

请任何专家帮助我。

更新:我添加了域 livesite.com。但是还是不行。

.ASPXAUTH=5D2D5D5409720F7AEC0875D30FEB852961EBDE014CDA41E2FC5B7A44CBE7852D6532AB19B0887D1E12893E10F42A204B5486DF814DE5F9B712CA3FD23729DC7A2E5E4CA9B4273459DCB792175AA770386164A9575A63C78A75CFADF20C6BC1C58681E8F3F2CA33F91037FCD8F767E6B2162AF0240A5C6F4B2F9638E7A82E0C8B7B3F14E7FD7DD5BBBE6ECB086A8EF21E1736D6AE2C302E047CB1D44EB18; domain=.livesite.com; path=/; HttpOnly


<authentication mode="Forms">
  <forms timeout="240" domain="livesite.com" requireSSL="false"/>
</authentication>

主机文件:

127.0.0.1 livesite.com

网站正在运行:

http://livesite.com:9000/#Site

API 正在运行:

http://livesite.com:1534

我也在 Mozilla 中进行了测试。但是cookie不会保存在浏览器缓存中。

【问题讨论】:

    标签: asp.net cookies forms-authentication


    【解决方案1】:

    检查您的web.config 上的设置是否正确。通常如果您没有设置domain,或者如果您设置的requireSSL 与您调用的不同,您可能无法设置cookie。

    <authentication mode="Forms">
      <forms domain="example.com" requireSSL="true" name=".myauth" />
    </authentication>
    

    现在,如果没有前面的子域 www.,域会更好,因为您可以为任何名称设置它。我希望你已经设置了一些本地的iis 并且你使用本地的 dns 作为名称。

    requireSSL="true" 表示只能设置https cookie。如果您没有用于测试的 ssl,请将其关闭。

    【讨论】:

    • 谢谢先生。我正在使用本地主机。 ** ** 我不想在 localhost 中使用 https。我需要将域添加为 localhost 吗?
    • @user1629977 是的,域对于接受和读取 cookie 至关重要
    • 尝试使用 domain="192.168.0.5" 和 domain="localhost" 但它不起作用。请检查先生
    • 更新了答案。请看一下
    • @user1629977 必须设置domain="livesite.com"
    猜你喜欢
    • 1970-01-01
    • 2012-04-07
    • 1970-01-01
    • 2018-08-08
    • 1970-01-01
    • 1970-01-01
    • 2013-09-16
    • 1970-01-01
    相关资源
    最近更新 更多