关于单点登录SSO以及二级域名对应某个人的个人中心如何实现。

牛接口 2016-09-20 11:17:29
两个问题。
需要实现的功能:单点登录SSO,类似csdn这样,在passport.csdn.net上登录以后,my.csdn.net ,bbs.csdn.net都登录了。
我查资料后得到的解决方案,有如下问题:

问题一:统一登录处登录后,拿到access-token,换不换本地票据?
如果不换,每次都要网络交互验证access-token,效率肯定不行。如果换,什么时候,怎么换?假设用户访问子系统A,这个时候,要不要把子系统B、C、D全部换?如果不,那么access-token就不能失效,存在着一定的安全问题,比如别人拿到access-token去登录,当然可以加一个IP来判断一下,但是总觉得不够好。如果要全换,那只能带着access-token去挨个儿访问其他子系统授权页面,然后退出的话也一样统一让浏览器去访问每个子系统的退出页面。如果用户老老实实点退出还好,不老老实实点退出,就不好控制统一退出。并且,只能让浏览器去访问退出页面,万一用户点击退出,马上关闭浏览器,理论上是应该能造成退出到某一个系统后就没退出了。

大家能讨论一下,你们实现sso的具体细节吗?做过这个的人请详细说说看。谢谢

问题二,类似博客园的 xxx.cnblogs.com 对应某个人的博客中心是怎么实现的?
我只知道mvc可以重写域名后面的,假设我把 *.cnblogs.com 泛解析到 某个IP,然后IIS上呢?我只知道一个个绑定主机头值,然后部署N份源代码,但是这肯定是愚蠢的做法,请详细说出该如何实现,谢谢。。。。
...全文
468 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
heycoder 2017-11-29
  • 打赏
  • 举报
回复
单点登录(SSO)的设计与实现:https://ken.io/note/sso-design-implement
ttg520 2016-09-21
  • 打赏
  • 举报
回复
如果都是*.csdn.net下的二级域名,cookie是通用的,也就是说session是可以共用的,如果不是相同域名如www.a.com到www.b.com那你跳转时一定要把a里的认证身份传入www.b.com中
  • 打赏
  • 举报
回复
引用 楼主 maobiwen6 的回复:
如果要全换,那只能带着access-token去挨个儿访问其他子系统授权页面,然后退出的话也一样统一让浏览器去访问每个子系统的退出页面。如果用户老老实实点退出还好,不老老实实点退出,就不好控制统一退出。并且,只能让浏览器去访问退出页面,万一用户点击退出,马上关闭浏览器,理论上是应该能造成退出到某一个系统后就没退出了。
你这是想的太多了! 当用户从a站登录,应用需要重定向导航到SSO站,然后输入用户名、密码来进行登录,然后页面重定向回a站页面。然后当用户又要从b站登录,应用需要重定向导航到SSO站,然后SSO站就直接重定向回b站页面了(因为用户已经登陆过了)。 而你说的是“SSO去挨个重定向到各个诡异的所谓子系统的的页面”,哪有这种逻辑?
  • 打赏
  • 举报
回复
比如说我在A站叫做“张三”,在B站叫做“李四”,那么B站想保存我在A站的几个信息到自己的站立,难道还要重复100000次取相同信息吗?
  • 打赏
  • 举报
回复
引用 楼主 maobiwen6 的回复:
问题一:统一登录处登录后,拿到access-token,换不换本地票据? 如果不换,每次都要网络交互验证access-token,效率肯定不行。
一次还不够啊?还需要“每次”吗?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧