2009-11-25 94 views
0

我们正在使用子域启动新网站,并且需要确保登录到原始(主域)站点的用户也在新站点中进行身份验证。我相信我需要确保所有相关的web.config设置(表单身份验证,cookie名称等)在两个应用程序中都是相同的,并且还要手动设置machineKey validationKey/decryptionKeys(同样在两个应用程序中)。在站点之间共享ASP.NET身份验证

我的问题是,如果我现在手动在我的主应用程序中设置这些键,它会打破现有的登录?

我们对密码使用“散列”格式。

回答

2

取决于“break”是什么意思。如果您修改了可能需要重新登录的machineKeys/encryptiong密钥,但登录功能将继续像以前一样工作。

您还需要确保在两个位置(不包含www)将Cookie的域设置为domain.com,否则验证Cookie将不会在站点之间正确碎片。

+0

为补充此响应,cookie域设置在web.config中的

元素上:http://msdn.microsoft.com/en-us/library/1d3t3c61.aspx。请注意,如果您的其他网站在运行asp.net的同一网域上需要不同的身份验证,则此功能无效。 – zcrar70 2009-11-27 13:37:37

+0

我最初的担心是,更改验证/解密密钥可能会损坏(或导致不可用)存储在数据库中的哈希密码。这(愉快地)并非如此,上述方法完美地工作。谢谢。 – 2009-12-01 11:41:49

相关问题