Asp.net mvc 对于同一IIS网站下的不同IIS应用程序,如何配置单独的表单身份验证?

Asp.net mvc 对于同一IIS网站下的不同IIS应用程序,如何配置单独的表单身份验证?,asp.net-mvc,iis-7,forms-authentication,Asp.net Mvc,Iis 7,Forms Authentication,我有一个使用表单身份验证的Asp.Net MVC应用程序,该应用程序以不同的应用程序名称发布到同一IIS网站: Default Web Site/Dashboard Default Web Site/Partner 使用Chrome,如果我进入仪表板实例并登录,一切似乎都正常。如果我打开一个单独的浏览器窗口并导航到合作伙伴实例,系统会提示我按预期登录。登录到Partner实例后,一切似乎都正常工作当我返回上一个浏览器窗口并尝试访问仪表板实例上经过身份验证的资源时,问题就出现了,在那里,我被重定

我有一个使用表单身份验证的Asp.Net MVC应用程序,该应用程序以不同的应用程序名称发布到同一IIS网站:

Default Web Site/Dashboard
Default Web Site/Partner
使用Chrome,如果我进入
仪表板
实例并登录,一切似乎都正常。如果我打开一个单独的浏览器窗口并导航到
合作伙伴
实例,系统会提示我按预期登录。登录到
Partner
实例后,一切似乎都正常工作当我返回上一个浏览器窗口并尝试访问
仪表板
实例上经过身份验证的资源时,问题就出现了,在那里,我被重定向到登录页面,就好像我以某种方式注销了一样。
如果我再次登录
仪表板
实例,事情会再次正常工作。但是如果我转到
合作伙伴
实例,我会发现我在那里被注销了。似乎登录到另一个应用程序实例的行为以某种方式将我从上一个应用程序实例中注销。我做了一些观察,似乎问题是由我的表单身份验证cookie设置引起的。以下是我使用的:

<authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn"
         timeout="1576800"/>
</authentication>
对于
合作伙伴
,我使用了以下方法:

 <authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn"
             timeout="1576800"
             cookieless="UseCookies"
             path="/Dashboard" />
 </authentication>
 <authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn"
             timeout="1576800"
             cookieless="UseCookies"
             path="/Partner" />
 </authentication>


然而,这根本不起作用。有了这些设置,我甚至无法正常登录和注销我的目标是让仪表板和合作伙伴实例完全独立于表单身份验证,因此登录其中一个不会影响另一个。如果不将它们放在不同的IIS网站名称中,这是否可行?

在Web.config中,为每个应用程序的身份验证标记中的cookie名称设置唯一名称

 <authentication name="DashBoard" mode="Forms">
 <forms loginUrl="~/Account/LogOn" />
</authentication>


是否尝试为每个应用程序设置唯一的cookie名称。。e、 g.?@cecilphillip这似乎起到了作用。请把它作为一个答案,我会接受它。我问了同样的问题,刚刚找到了你的答案。正在确认,但稍作更正:
name=“CookieName”
元素的属性,而不是
。谢谢