同一站点下的多个IIS应用程序的登录/注销问题

jac*_*891 0 authentication iis asp.net-mvc asp.net-mvc-3

我在IIS7.5的同一个网站下有2个应用程序.问题是如下:

  1. 打开浏览器并登录第一个应用程序;
  2. 打开另一个浏览器选项卡并登录第二个应用程序;
  3. 第一个应用程序自动注销.

我有相同的asp.net身份验证数据库,但我创建了两个具有不同角色和不同ApplicationId的不同用户.我还在应用程序web.config文件中的成员资格提供程序配置中设置了不同的applicationName属性.

你能帮我吗?对不起我的英语不好.

谢谢.

Gre*_*ski 5

如果IIS网站配置为使用基于表单的身份验证,则问题很可能是第二次登录(其他用户)的cookie从初始登录覆盖cookie.默认情况下,cookie名为".ASPXAUTH".您应该能够通过使用类似Fiddler之类的东西检查从IIS返回的响应头来验证这一点.

您可以通过更改web.config中元素中的"name"属性来控制IIS用于维护会话的cookie名称.有关详细信息,请参阅此文档.web.config的这一部分的一个例子是:

<authentication mode="Forms">
    <forms loginUrl="login.aspx" name="APP1SESS" />
</authentication>
Run Code Online (Sandbox Code Playgroud)

如果应用程序包含在单个单独的子文件夹中,那么您也可以使用"path"属性来告诉浏览器仅发送该子文件夹中的请求的cookie.这里要小心,因为任何共享资源(如不在子文件夹中的图像)都需要公开访问.

//authentication/forms元素只能在应用程序的根级别指定.检查此SO帖子以进行讨论.