我正在处理两个独立的 Web 项目,但对它们都使用相同的身份验证方案。这是我的登录代码的一部分:
public void Login(string username, string password, bool staySignedIn)
{
if (this.IsLockedOut(username))
{
this._view.ShowMessage("Your account has been locked!");
return;
}
else if (!this.IsApproved(username))
{
if (!string.IsNullOrEmpty(this.webContext.CurrentUserID))
{
this.membershipService.ChangeApprove(this.webContext.CurrentUserIdFromQuery);
this.DoLogin(username, password, staySignedIn);
}
else
this._view.ShowMessage("Your account is not activated yet");
}
else
this.DoLogin(username, password, staySignedIn);
}
private void DoLogin(string username, string password, bool staySignedIn)
{
try
{
FormsAuthentication.SetAuthCookie(username, staySignedIn);
if (!string.IsNullOrEmpty(this.webContext.GetReturnUrl))
this.redirector.GotoUrl(this.webContext.GetReturnUrl);
else this.redirector.GotoProfileDefault();
}
catch (Exception ex)
{
this.logger.PrintToLogFile(ex, false);
this._view.ShowMessage("Some error code");
}
}
在 project1 中,我有 3 个用户:user1、user2 和 user3,而 project2 中没有用户。我的问题是:当我以 user1 身份登录到 web project1 时,如果 web project2 在浏览器中查看,它显示我也以 user1 身份登录,并且在 project1 中使用相同的用户数据。有些事情就像我在两个网站上都登录一样。我不知道为什么。你能给我什么建议吗?