0

我有两个不同的 mvc3 项目。现在奇怪的是,当我登录其中一个网站时,另一个自动登录使用相同的帐户名。

 FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);

这对我来说很奇怪。有人可以解释一下,我应该如何防止它?

4

1 回答 1

1

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 名称。

于 2012-05-08T10:58:21.890 回答