我们可以共享站点认证cookie吗?

时间:2012-10-25 19:13:43

标签: asp.net-mvc-3

我有两个网站domain1.com和domain2.com用户进入domain1.com并进行身份验证

它并创建身份验证cookie,是否可以通过domain2.com共享此cookie,用于

用户Soto domain2.com的身份验证,因为它在domain1.com中进行了身份验证?

is it possible?
I'm looking for a simple way and these domains are not 
a sub domains they are two separate site

注意我不想使用sql server url参数或其他方式

感谢所有

2 个答案:

答案 0 :(得分:0)

绝对。希望两个站点共享相同的用户名数据库,或者将其复制,以便您可以使用HttpContext.User.Identity.Name保护和访问内容。

无论如何,基本上你需要更新你的web.config <authentication>部分,使两个网站之间完全相同。这意味着您的机器密钥,解密密钥,算法....一切。

Here is the MSDN article,其中包含有关如何跨多个应用程序共享身份验证的完整说明

答案 1 :(得分:0)

您可以在网络配置中使用<authentication><machineKey>

机器密钥 包含解密密钥和验证密钥。这两个网络配置必须相同。

<machineKey
 decryptionKey="A225194E99BCCB0F6B92BC9D82F12C2907BD07CF069BC8B4"
 validationKey="6FA5B7DB89076816248243B8FD7336CCA360DAF8" />

Auhentication 这必须在两个Web配置中,但值是特定于应用程序的。

<authentication mode="Forms">
  <forms name=".ASPXFORMSAUTH" 
         path="/" 
         loginUrl="~Membership/login"
         protection="ALL"
         timeout="1000" />
</authentication>