我有两个不同的 mvc3 项目。现在奇怪的是,当我登录其中一个网站时,另一个自动登录使用相同的帐户名。
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
这对我来说很奇怪。有人可以解释一下,我应该如何防止它?
我有两个不同的 mvc3 项目。现在奇怪的是,当我登录其中一个网站时,另一个自动登录使用相同的帐户名。
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
这对我来说很奇怪。有人可以解释一下,我应该如何防止它?
FormsAuthentication 通过 Cookies 工作,浏览器不允许不同域之间共享 cookie。但允许在相同域之间共享。所以当您在本地主机上运行时会发生这种情况。为避免这种情况,只需更改 web.config 文件中的 cookie 名称。
如果您不提供 cookie 名称,它将采用默认名称,在您的 web.config 中手动提供 cookie 名称,搜索 Authentication Element 并将其块替换为
<authentication mode="Forms">
<forms name=".yourCustomCookieName" loginUrl="~/Account/Login" timeout="2880" />
</authentication>
这里 .yourCustomCookieName 是您的 cookie 名称。