4
我正试图在2个Web应用程序,应用程序A和应用程序B之间开发SSO身份验证。应用程序A是MVC 4应用程序,应用程序B是MVC 3应用程序。SSO表单身份验证问题。无法解密身份验证Cookie
发生的事情是:
- 当用户试图访问应用程序B,他将被重定向到应用程序的登录页面,他登录到应用A A
- 后,他将被重定向以应用程序B
什么实际发生的是:
- 用户试图访问APPLI阳离子B,他被在应用一个重定向到应用程序用于登录
- 用户登录时,他被重定向到应用程序B
- 这里的东西是错误的,因为应用程序B将用户重定向回应用程序用于登录仿佛他在又
不会记录我所做的这些步骤弄清楚什么是错的:
- 证实,身份验证cookie被传递给应用程序B
- 证实计算机密钥验证和解密密钥是
- 确认enableCrossAppRedirects在web.config中启用
- 我曾经在这个论坛帖子的代码,以找出是否这两个应用程序都能够解密的身份验证在web.config中两个应用程序相同饼干: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
谢谢!
你是如何将cookie从A传递给B的?我假设他们在不同的领域? –
不,它位于相同的域,但不同的Web应用程序。该cookie由请求头中的浏览器自动传递。 –
像这样:https://www.app.com/a/login和https://www.app.com/b/login? –