MVC和表单身份验证在单独的项目中 - 安全风险

时间:2013-05-06 10:59:17

标签: asp.net-mvc-3

假设我有两个基于MVC 3的项目。它们都使用Forms Authentcation机制。用户正在登录第一个项目。然后他进入第二个项目登录,结果发现 - 他已经登录了。如何避免这种情况?

1 个答案:

答案 0 :(得分:1)

如果您没有设置FormsAuthentication类使用的cookie的名称,那么在同时运行两个asp.net应用程序时将遇到该问题。从该属性的定义:

  

用于存储表单身份验证票证的Cookie的名称。   默认为“.ASPXAUTH”

所以你应该注意到只有一个cookie应该有两个(或者打开的应用程序数量)。

要解决此问题,您应该为Cookie命名,您可以在web.config

中执行此操作
<authentication mode="Forms">
    <forms loginUrl="~/Account/Login" timeout="2880" name="unique_cookie_name" />
</authentication>