4.0 框架应用程序和 2.0 框架应用程序之间的单点登录似乎被破坏了。
我有一个基于 asp.net framework 2.0 的旧应用程序和一个基于 asp.net framework 4.0 的新应用程序,我正在尝试在两者之间配置 SSO。
我已经完成了设置具有相同validationKey、decryptionKey、验证和解密属性以及相同身份验证名称、域、保护和路径属性的相同机器密钥的所有正确配置。
奇怪的是,这个配置在我的本地开发机器上运行良好: - Windows 7 Ultimate(Service Pack 1) - 在应用程序池中运行的 2.0 应用程序设置为 v2.0 集成 - 在应用程序池中运行的 4.0 应用程序设置为 v4.0 集成
但是,在部署服务器 Windows 事件日志中,我收到“请求的表单身份验证失败。原因:提供的票证无效。”:- Windows Server 2008 R2 Standard (Service Pack 1) - 在应用程序池中运行的 2.0 应用程序设置为v2.0 Integrated - 应用程序池中运行的 4.0 应用程序设置为 v4.0 Integrated
我已经检查、重新检查并重新检查了部署机器上的机器密钥和身份验证配置,所以我确定这不是问题所在。
另外,为了争论,在部署服务器上,我什至尝试设置两个应用程序表单 protection="None"只是为了查看加密是否是问题并且结果仍然相同。
此外,在部署服务器上,使用相同 SSO 设置配置的所有其他 v2.0 应用程序都没有问题。即使是在不同的应用程序池中运行的那些。简而言之,v2.0 到 v2.0 可以工作,而 v4.0 到 v2.0 会呕吐。
有什么建议么?