1

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

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

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

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

谢谢。

4

1 回答 1

6

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

您可以通过更改 web.config 元素中的“名称”属性来控制 IIS 用于维护会话的 cookie 名称。有关更多详细信息,请参阅此文档。这部分 web.config 的示例类似于:

<authentication mode="Forms">
    <forms loginUrl="login.aspx" name="APP1SESS" />
</authentication>

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

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

于 2013-01-04T14:27:40.650 回答