【问题标题】:asp.net mvc identity 2 running two instance of different projectasp.net mvc identity 2 运行不同项目的两个实例
【发布时间】:2014-09-29 00:08:28
【问题描述】:

我尝试运行安装了 Identity 2.0 的两个新 ASP.NET MVC5 项目的 2 个实例。这两个应用程序都是使用默认的 MVC 模板创建的,并设置为个人身份验证,无需任何代码修改。

我在 Visual Studio 2013 RC2 中运行了第一个应用程序,并使用 Web 应用程序注册界面创建了一个虚拟用户帐户。完成上述步骤后,Entity 框架将使用虚拟用户登录信息创建一个虚拟数据库。然后我登录第一个应用程序,登录信息显示在主页的标题上。

接下来我在 Visual Studio 的下一个实例中运行第二个 mvc 应用程序,当网页启动时,我很惊讶我已经登录到不附带任何数据库的第二个应用程序。我不知道怎么了。在 _LoginPartial.cshtml 下,以下代码检查用户是否已通过身份验证并显示注销链接。 @if (Request.IsAuthenticated)

如果在不同的浏览器上运行相同的测试,则不会出现问题。我想这与 cookie 或浏览器缓存有关。我可以知道如何避免上述情况的发生吗?还是应该正常?

【问题讨论】:

    标签: asp.net-identity-2


    【解决方案1】:

    第一次登录第一个项目时,域localhost:1234 的cookie 已设置。 Cookie 包含有关用户名和其他一些信息的信息。第二个项目执行,您的 cookie 仍然在同一域的浏览器中设置:localhost。因此,您的第二个应用程序会看到 cookie,从中读取数据并接受用户已登录。

    没有魔法,只有饼干。

    【讨论】:

    • 感谢您的解释。当两个不同的 Web 应用程序能够互换使用登录 cookie 时感到困惑。
    • 我们如何在本地解决这个问题?有时我们会在同一个浏览器中同时运行多个......
    • @PrasadRaja 您可以为每个应用程序重命名身份验证 cookie。像这样:tech.trailmax.info/2014/07/…
    猜你喜欢
    • 2014-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多