出炉!可一键运行演示的SSO完整代码 | 手把手教单点登录系列三

软件设计 2017-05-15

感谢各位的不吝推荐,本系列前两篇均有幸荣登安科开发推荐排行榜。今天去看,第二篇还排在第二名。

动力满满,感受到只要是用心,再特定的技术主题,都会得到大家的响应和肯定。

周末把完整的代码整理完了。单点登录方案不同于一个普通站点,它的部署比较繁琐:涉及到好几个站点,要改host、安装证书、配置HTTPS。

为了让大家可以快速安装体验,专门开发了一个一键部署运行的小程序。大家在http://www.baibaomen.com/sso/BaibaomenSsoLesson.zip下载解压完整示例压缩包到任意盘根目录,运行其中的 ”一键配置运行.exe,即会自动完成所有相关部署配置工作,并打开浏览器访问相应站点。测试账号是baibaomen,密码123456。

注意:因为该程序运行涉及修改host、安装证书等操作,可能出现安全警告甚至误删。可以自行单独编译其中OneKeyRunner工程源码,会自动重新生成本exe,此时不会再告警,执行即可。

各位如果有github账号,可以watch本项目,跟进最新源码:https://github.com/baibaomen/BaibaomenSsoLesson。

我本地的测试环境是Windows10,IIS 10,.NET4.6。最低配置环境要求IIS7,.NET4.6。

出炉!可一键运行演示的SSO完整代码 | 手把手教单点登录系列三

原文地址:出炉!可一键运行演示的SSO完整代码 | 百宝门手把手教单点登录系列三|

单点注销已在代码中实现。先不在本文着重讲解了,有兴趣的同学请阅读代码,疑问在评论中交流。如果大家都比较关心该业务,本系列后继文章会考虑做个专题。

单点登录是一个涉及技术面非常广泛的领域。本系列第二篇和本文代码所提供的方案,属于一类最基本也最标准的跨域Web单点登录方案。

在具体的SSO实施中,该类方案有两个明显的短板:

  1. 只涵盖了Web应用的单点登录场景。企业的很多客户端程序、移动端程序也有单点登录需求,比如SAP、Lotus或者企业自身业务应用。像本系列第一篇演示的 VPN、QQ客户端程序单点登录 就是非Web的单点登录场景。
  2. 要求被集成的子站点做改造。子站必须理解支持本SSO方案的接口和协议。这个对于非常多实际的SSO实施场景来说难以做到,因为大量要集成的站点都是已经上线运行了很久的,甚至都已经找不到对应维护人员的系统,改造风险太大。本系列第一篇演示的 零改造实现百度、CSDN单点登录 就是此例,SSO实施方是无法改造待集成站点的。

网上的单点登录教程和介绍,大部分是止于该类基本的标准方案。很多标准化的产品方案,像IdentityServer,也都属于该范畴。

对该类方案的充分理解,是实施SSO的基本功。在此基础上,后继文章会结合我的顾问实施经验,和大家探讨如何演化变通,实现真实场景下的各种复杂单点登录需求。

原文地址:出炉!可一键运行演示的SSO完整代码|百宝门手把手教单点登录系列三

本文主要作为问题回复贴。执行中有问题的,请在本文回复交流。

为方便从公众号或其它转帖网站看到本文的同学参与讨论,在此贴出本文链接:http://www.cnblogs.com/baibaomen/p/sso-full-code.html。

希望成功运行的童鞋也积极回复反馈,看到你们有所收获是我最大的动力:)

本系列各篇链接:

手把手教做单点登录(SSO)系列之一:概述与示例

最准确的单点登录SSO图示和讲解(有代码范例)|手把手教做单点登录(SSO)系列之二

出炉!可一键运行演示的SSO完整代码 | 手把手教单点登录系列三

本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。

我的博客欢迎复制共享,但在同时,希望保留我的署名权百宝门-SSO顾问,并且,不得用于商业用途。

如您有任何疑问或者授权方面的协商,请给我邮件。 

安科开发专栏:

百宝门-SSO顾问

出炉!可一键运行演示的SSO完整代码 | 手把手教单点登录系列三

相关推荐