ASP.Net会员登录问题

时间:2011-05-10 07:44:21

标签: asp.net asp.net-mvc-3 asp.net-membership

我正在尝试使用MVC3附带的相同ASP.NET成员资格提供程序数据库运行两个Web应用程序。因此,两个Web应用程序并排运行,它们都与相同的成员资格数据库具有相同的连接。现在的问题是,我只能在一个应用程序登录并自动退出另一个应用程序。但是,我想要的功能是,如果我登录其中任何一个,我会自动登录到另一个。

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

非常感谢

2 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分:0)

我完全修好了。 我的应用程序在同一个域下运行,因此域名不是问题(但非常感谢,Darin)。 问题是: 默认情况下,IIS会为不同的Web应用程序生成不同的计算机密钥。所以我必须在web.config中明确指定相同的机器密钥〜!