将网站移动到另一台服务器后,.NET Single Sign-On不再工作



我有两个网站托管在同一台服务器上(Windows server 2003 R2上的IIS6)。第一个网站的URL为www.domainname.com第二个网站的网址为my.domainname.com/website2,其中"website2"是同一服务器上"我的"网站下的虚拟目录。我在两个网站上都配置了使用表单身份验证的单点登录,它运行得很好。在我将第一个网站移动到另一个服务器(IIS7-Windows server 2008 R2)后,SSO停止工作(双向)。

  • 两个站点上的"machineKey"one_answers"forms"值相同(见下文)
  • 我可以看到票证是从服务器日志中传递的
  • 我在事件查看器上收到"请求的表单身份验证失败。原因:提供的票证无效。"错误
  • 两个网站都使用.net 4

-------配置启动

<machineKey validationKey="key1" decryptionKey="key2" decryption="3DES" validation="SHA1" />
<authentication mode="Forms">
    <forms requireSSL="true" name="domainnameAuth" domain=".domainname.com" loginUrl="login.aspx" timeout="20" protection="All" path="/" />
</authentication>

我在这里错过了什么?对于如何调试这种情况的任何帮助,我们将不胜感激。

安装更新后问题消失http://support.microsoft.com/kb/2656351

我认为FormsAuthentication.Decrypt/Encrypt存在问题,在此次更新后已修复。

谢谢你的帮助Henk!

最新更新