ASP.Net成员身份登录问题

ASP.Net成员身份登录问题,asp.net,asp.net-mvc-3,asp.net-membership,Asp.net,Asp.net Mvc 3,Asp.net Membership,我正在尝试使用MVC3附带的相同ASP.NET成员资格提供程序数据库运行两个web应用程序。因此,两个web应用程序并排运行,并且它们都与相同的成员数据库有相同的连接。现在的问题是,我只能在一个应用程序上登录,在另一个应用程序上自动注销。然而,我想要的特性是,如果我登录其中一个,我会自动登录另一个 我想知道启用此功能的诀窍是什么 如果您使用的是表单身份验证,则非常感谢您使用Cookie跟踪用户。默认情况下,cookie仅限于发出cookie的应用程序。因此,其他应用程序无法看到第一个应用程序创建

我正在尝试使用MVC3附带的相同ASP.NET成员资格提供程序数据库运行两个web应用程序。因此,两个web应用程序并排运行,并且它们都与相同的成员数据库有相同的连接。现在的问题是,我只能在一个应用程序上登录,在另一个应用程序上自动注销。然而,我想要的特性是,如果我登录其中一个,我会自动登录另一个

我想知道启用此功能的诀窍是什么


如果您使用的是表单身份验证,则非常感谢您使用Cookie跟踪用户。默认情况下,cookie仅限于发出cookie的应用程序。因此,其他应用程序无法看到第一个应用程序创建的身份验证cookie。因此,例如,如果您将这两个应用程序分别托管在
foo.example.com
bar.example.com
上,您可以将这两个应用程序的
web.config
中cookie的
属性设置为
example.com

<forms
    loginUrl="/login/index.mcp"
    requireSSL="true"
    protection="All"
    timeout="120"
    domain="example.com"
/>

通过这种方式,cookie将在这两个应用程序之间共享,您将能够实现单点登录。

最后我修复了它。 我的应用程序在同一个域下运行,所以域不是问题(但非常感谢,Darin)。 问题是:
IIS默认情况下为不同的web应用程序生成不同的机器密钥。所以我必须在web.config中显式地指定相同的机器密钥~

嗯,我测试了它,但它在我的机器上不工作。我要做的是在我的IIS中创建一个具有域“lwww.domain.com”的网站,然后将一个应用程序部署到根目录下,将另一个应用程序部署到根目录下的单独web应用程序中。他们使用不同的应用程序池。我登录到根目录,但没有自动登录到子目录。。。。非常感谢您的帮助。@user299230,您在web.config中将
domain
属性设置为什么?当您使用FireBug或Fiddler检查请求时,您是否看到身份验证cookie被发送到第二个应用程序?另外,请尝试为两种应用程序设置sama机器钥匙: