加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – SSO表单身份验证问题.无法解密身份验证Cookie

发布时间:2020-12-16 09:52:33 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试在2个Web应用程序,应用程序A和应用程序B之间开发SSO身份验证.应用程序A是MVC 4应用程序,应用程序B是MVC 3应用程序. 应该发生的是: 当用户尝试访问应用程序B时,他将被重定向到应用程序A的登录页面 登录到应用程序A后,他将被重定向到应用程序B. 实
我正在尝试在2个Web应用程序,应用程序A和应用程序B之间开发SSO身份验证.应用程序A是MVC 4应用程序,应用程序B是MVC 3应用程序.

应该发生的是:

>当用户尝试访问应用程序B时,他将被重定向到应用程序A的登录页面
>登录到应用程序A后,他将被重定向到应用程序B.

实际发生的是:

>用户尝试访问应用程序B,他被重定向到应用程序A进行登录
>用户登录到应用程序A,他被重定向到应用程序B.
>这里出了问题,因为应用程序B将用户重定向回应用程序A进行登录,就好像他还没有登录一样

我已经完成了这些步骤来找出错误:

>确认身份验证cookie正在传递给应用程序B.
>确认web.config中的两个应用程序的机器密钥验证和解密密钥相同
>在web.config中启用了已确认的enableCrossAppRedirects
>我使用此论坛帖子中的代码来确定两个应用程序是否都能解密身份验证cookie:http://forums.asp.net/t/1762166.aspx/1
>身份验证cookie在应用程序A中成功解密,但在应用程序B中未成功解密.应用程序B在FormsAuthentication.Decrypt方法中提供“无法验证数据”异常

谁能帮我这个?为什么解密失败,即使他们使用相同的机器密钥?我还能依靠这种身份验证方法吗?因为这篇文章说它不再可靠了.
http://blog.appharbor.com/2012/02/22/asp-net-forms-authentication-considered-broken

谢谢!

解决方法

Uf ..终于找到了问题.问题是因为应用程序A的目标是.NET Framework 4.5,而应用程序B的目标是.NET Framework 4.

我以前怀疑过,但显然在项目属性中更改目标框架是不够的.您必须添加此< httpRuntime targetFramework =“4.5”/>应用程序B web.config使其工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读