我有两个不同的mvc3项目。 现在奇怪的是,当我登录我的任何一个网络时,另一个自动登录使用相同的帐户名称。
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
对我来说很奇怪。有人可以解释它,我该如何预防?
答案 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名称。