ASP.NET User.Identity.Name返回不同​​应用程序

时间:2015-11-29 14:31:30

标签: asp.net-mvc cookies forms-authentication username

我正在开发一个MVC应用程序,如果用户在之前的登录尝试中选择“记住我”,我需要跳过登录页面。我在login(get)操作中使用以下代码。

if (User.Identity.IsAuthenticated)
{
    var data = new User();
    data.CheckPass = false;
    data.UserName = User.Identity.Name;
    return Login(data);
}
return View();

在登录(发布)操作中,如果CheckPassfalse并设置表单Cookie,则会跳过密码验证。

FormsAuthentication.SetAuthCookie(data.UserName,data.RememberMe);
return RedictToAction("Dashboard");

在我开始使用其他使用类似逻辑的应用程序之前,这就像魅力一样。每个应用程序都有不同的用户组。

我启动了第一个应用程序(http://localhost:1218/),提供了凭据(用户:ABC,传递:xxx)并登录。然后关闭浏览器,重新启动应用程序,这次,系统直接根据需要导航到仪表板。

现在我推出了第二个应用(http://localhost:34239/)。这应该是启动登录页面,而不是尝试导航到仪表板页面。当我签入登录页面代码时,User.Identity.IsAuthenticatedtrueUser.Identity.NameABC。但是,第二个应用程序不存在此类用户。我已经检查了两次,确保它使用以前登录用户的用户详细信息,而不管用户属于哪个应用程序。

我也尝试了下面的徒劳。

<authentication mode="Forms">
  <forms loginUrl="~/Login" timeout="2880" domain="www.mydomain.com" />
</authentication>

0 个答案:

没有答案