【问题标题】:Page.User.Identity.IsAuthenticated return always false in safariPage.User.Identity.IsAuthenticated 在 Safari 中总是返回 false
【发布时间】:2009-06-03 14:17:51
【问题描述】:

我正在使用 DotNetOpenId 和 Asp.NET MVC。我有以下问题:

当使用 IE 没有问题时,我可以登录,当我检查 Page.User.Identity.IsAuthenticated 时,我得到了真实的结果。如果我在 Safari for Windows 中对此进行测试,则 Page.User.Identity.IsAuthenticated 为假。如果我在 Mac 中使用 Safari,我可以毫无问题地登录。

有什么想法吗?我还可以提供哪些其他信息以便您帮助我?

谢谢

【问题讨论】:

    标签: asp.net-mvc authentication safari openid dotnetopenauth


    【解决方案1】:

    正在使用 Safari 登录您的网站,对吗?我无法从您的问题中判断您是否希望能够使用 IE 登录,然后切换到 Safari 并仍然可以登录。但这肯定是不可能的。

    您能告诉我更多关于您在使用 Safari 时会发生什么的信息吗?登录是否似乎已完成,但它仍然表现得像您没有登录一样。

    【讨论】:

    • 不,我想使用 Safari、IE、Chrome 或 FireFox 登录。如果我使用 IE、Chrome 或 FireFox 就可以,Safari 会出现错误。
    • 如果没有显示错误消息,那么除了建议您嗅探 Safari 和服务器之间传输的 cookie,或者进入 Safari 的 cookie 管理器(如果有)之外,恐怕我无法帮助您一个,看看cookies是否被持久化。也许它有一个防止创建会话 cookie 的隐私设置?
    【解决方案2】:

    随着 Safari 4 的发布,一切都开始工作了。

    【讨论】:

      【解决方案3】:

      不久前我遇到了类似的问题。事实证明,我设置的 cookie 在设置时将域的第一个字母大写,而我们使用的 javascript 正在寻找所有小写字母。这在除一个浏览器之外的所有浏览器上都运行良好... Windows 版 Safari 将 Example.com 和 example.com 视为两个不同的域,并将 cookie 请求视为跨域并阻止它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-11-04
        • 2019-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-20
        • 2021-11-05
        相关资源
        最近更新 更多