【发布时间】:2012-04-28 23:08:14
【问题描述】:
在 OpenIdWebRingSso 示例(PR(提供者)和 RP(依赖方)- 3.5.0.10357)上,如果我在 PR 上注销它不会在 RP 上注销我(在下一页请求上),并且注销在 RP 上不会触发在 PR 上的注销。
此外,当用户未通过身份验证时,PR 总是重定向到登录(询问用户名和密码)。在 RP 上浏览不需要身份验证的页面时,我需要的只是检查用户是否经过身份验证的请求。如果是这样,将用户登录到 RP(那部分很好),但如果不是,则只返回用户未通过身份验证的响应,而不要求登录(除非我确实单击登录按钮或尝试访问 [授权]页)。更新:用“request.Mode = 0;”解决了这部分问题
所以我需要在 RP 上检查每个页面请求天气是否已针对 PR 进行身份验证,并且仅在必要时询问密码。所以问题是:
1) 我可以在示例或其他参考资料中找到此代码吗?
2) 如果不是,将它放在 MVC3 应用程序上的最佳位置是什么: - http模块? - 在基本控制器上并覆盖无效初始化? - OnActionExecuting(ActionFilterAttribute)? - 别的地方?
3) 这种方法对 SSO 是否正确(我有 5 个不同的站点/域用于一家公司)?
提前致谢!
【问题讨论】:
标签: openid single-sign-on dotnetopenauth