微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-mvc – ASP.NET MVC多站点SSO使用OpenID

我正在为一系列将共享用户帐户信息的网站制定计划.这个想法是,一旦用户使用OpenID登录,他们可以访问任何网站,它将会知道他们是谁.

我可以采用什么共同的模式/最佳实践来实现这一目标?

解决方法

如果所有网站在其URL中共享一个公共主机名,那么您可以设置一个认证cookie(FormsAuthentication.SetAuthCookie),指定cookie的路径为“/”,以便所有站点都可以看到该用户登录.

如果这些网站没有共享一个主机名,我认为只有一个站点才可以实现所有身份验证,只有一次登录才能真正“登录到您的网站环境”中.一个致力于验证用户),并且其他站点用户重定向到该站点进行身份验证,然后该站点重定向回来.实质上,该认证站点成为一个身份提供者,几乎完全填补了OpenID提供者的角色(实际上DotNetopenAuth可以用于这个确切的目的).由于听起来您的目标是让用户使用OpenID登录,所以该一个认证站点上的OpenID Provider本身可以使用OpenID来验证用户.您可以编写自己的纯授权OpenID Provider,只要知识请求中的领域是您信任的站点之一,它始终立即响应checkid_immediate请求.因此,您可以在所有网站上进行单点登录.

原文地址:https://www.jb51.cc/aspnet/249404.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐