【问题标题】:Localhost cookies in ASP.NET debugging environmentASP.NET 调试环境中的 localhost cookie
【发布时间】:2013-11-26 08:52:24
【问题描述】:

我同时在几个 asp.net 网站上工作。它们都使用基于 cookie(开箱即用)的身份验证机制。当 localhost:4587 上的网站在 VS 中被隐藏时,我以“管理员”用户身份登录并进行了一些测试。

第二天我将打开另一个在 localhost 上运行的调试项目。当我尝试访问标有授权属性的 MVC 控制器操作时,系统假定当前用户是“管理员”,并且正在根据自定义提供程序查找它的角色。但是在这个站点上,甚至没有一个名为“admin”的用户。如何确保来自其他站点的 cookie 不会在 ASP.NET MVC 应用程序中进行角色检查?

【问题讨论】:

    标签: asp.net authentication cookies


    【解决方案1】:

    我建议在测试后删除所有 localhost cookie 始终是一个好习惯。正如这里所解释的:asp.net cookies, authentication and session timeouts,您还可以向身份验证 cookie 添加详细信息,以确保它在会话后被丢弃,即当您关闭浏览器或区分两个站点时。避免 cookie “冲突”的另一种方法是使用两种不同的浏览器:一种是 Chrome,另一种是 Comodo Dragon 或 Chromium。

    【讨论】:

      【解决方案2】:

      在每个应用程序中为您的表单标签指定一个唯一的名称

      <authentication mode="Forms">
        <forms name="myVeryUniqueNameForApp1" />
      </authentication>
      
      <authentication mode="Forms">
        <forms name="myCompletelyUniqueNameForApp2" />
      </authentication>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-30
        • 1970-01-01
        • 2013-10-16
        • 2012-06-02
        • 2014-06-20
        • 1970-01-01
        • 1970-01-01
        • 2012-06-30
        相关资源
        最近更新 更多