我有两个asp.net mvc 4应用程序与窗体认证在Windows 7 IIS上运行,但一个是在根域,另一个是在同一域的特定端口。
root App: www.mydomain.com第二个应用:www.mydomain.com:8080
都是在IIS 7和windows 7中配置的。
我遇到的问题是,如果用户在第二个应用程序中进行身份验证和登录,当我回到根应用程序时,用户使用第二个应用程序的用户名进行身份验证,当然根应用程序会向我抛出用户不存在的错误。
我认为这个问题是因为表单认证使用了由域控制的认证cookie。
如何解决维护相同域的问题?
使两个应用程序依赖于不同名称的cookie。为此,编辑web.config
的表单身份验证部分,并在一个应用程序中设置一个值,在另一个应用程序中设置一个不同的值:
application1:
<authentication mode="Forms">
<forms name="cookiename1" ... />
application2:
<authentication mode="Forms">
<forms name="cookiename2" ... />