我有两个mvc3项目。当一个帐户登录时,另一个帐户也登录使用相同的帐户名

时间:2012-05-08 09:11:58

标签: asp.net-mvc-3 security authentication

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

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

对我来说很奇怪。有人可以解释它,我该如何预防?

1 个答案:

答案 0 :(得分:1)

FormsAuthentication通过Cookie工作,浏览器不允许在不同域之间共享cookie。但允许在相同的域之间共享。 所以当你在localhost上运行时会发生这种情况。 为了避免这种情况,只需更改web.config文件中的cookie名称。

如果您不提供cookie名称,它将采用默认名称,在您的web.config中手动提供cookie名称,搜索身份验证元素并用

替换其块
    <authentication mode="Forms">
       <forms name=".yourCustomCookieName" loginUrl="~/Account/Login" timeout="2880" />
    </authentication>

这里.yourCustomCookieName是你的cookie名称。