想象一下,当您创建新的MVC4项目并开始使用SimpleMembership
注册帐户时,您使用Remember Me
复选框进行了记录。
现在,当您创建另一个MVC 4项目时,应用程序会尝试使用以前的帐户进行登录,但会因为它不存在而抛出错误。我的意思是,如果在网页上登录,则另一个人使用相同的帐户。
如何避免这种情况,我想必须使用ForgeryTokens或类似的东西
答案 0 :(得分:1)
自定义Cookie的名称,使其在每个应用程序中都是唯一的。
<authentication mode="Forms">
<!-- **Defaults** timeout="30" slidingExpiration="true" -->
<forms name=".MyApplication" defaultUrl="~/" loginUrl="~/LogIn" />
</authentication>
答案 1 :(得分:0)
如果您使用单点登录机制,那么这是一个例外情况,但如果您不希望允许相同的帐户使用相同的身份验证到另一个网站,请确保两个项目的web.config文件必须具有不同的机器钥匙。
此外,由于您的计算机上的Cookie设置为true,创建Cookie文件并允许使用此Cookie详细信息访问其他项目,因此发生了这种情况。
&LT;身份验证/&gt;
答案 2 :(得分:0)
这是因为在提供网页时,浏览器会将localhost视为域名。它保存了localhost的cookie。
当您使用localhost在同一服务器上托管另一个网站时,浏览器会再次发送相同的cookie。
如果您在两个应用程序中使用相同的cookie名称,那么系统将尝试认为用户已经过身份验证,您将收到错误。
您可以在web.config文件中更改cookie名称。
阅读本文: