1.了解单点登录 

SSO 主要特点是: SSO 应用之间使用 Web 协议(如 HTTPS) ,并且只有一个登录入口.

SSO 的体系中有下面三种角色:

1) User(多个)

2) Web 应用(多个)

3) SSO 认证中心(一个) 

 

2.SSO 实现包含以下三个原则

1) 所有的登录都在 SSO 认证中心进行。  

2) SSO 认证中心通过一些方法来告诉 Web 应用当前访问用户究竟是不是通过认证的用户.  

3) SSO 认证中心和所有的 Web 应用建立一种信任关系.  

 

3.了解单点登录体系结构

1) CAS Server 负责完成对用户信息的认证,需要单独部署,CAS Server 会处理用户名/密码 等凭证(Credentials).      

2)  CAS Client 部署在客户端,当有对本地 Web 应用受保护资源的访问请求,并且需要对请 求方进行身份认证,重定向到 CAS Server 进行认证. 

 

4.CAS  SSO单点登录可以不依赖于cookie跨域的解决方案

不依赖于cookie跨域是比较有优势的,假如我们在京东商城上登录一次,在京东商城上其实还有很多的站点,点击其他站点以后是直接可以使用而无需重新登录,我们可以很清楚的看到,里面的域名都是不一样的,如果用传统的方案可能会出现cookie跨域的问题,解决起来比较麻烦。

 

5.CAS SSO单点登录官网:

https://www.apereo.org/projects/cas

 

6.CAS 源代码下载地址

sso网站集成ldap_mybatis


 

进入源码下载地址,当前的git库是正在维护的CAS,也是最新的CAS

sso网站集成ldap_mybatis_02

 

 CAS最新版本可能存在不稳定的情况,所以这种下载方式我们也不建议使用,可以点击releases查看不同的版本,下载使用比较稳定的版本。

sso网站集成ldap_dubbo_03


 

sso网站集成ldap_dubbo_04

 


7.通过下载稳定版本的方式下载cas的相关源码包,如下:

sso网站集成ldap_springcloud_05


 

直接选择4.2.1的稳定代码即可

 

8.我们项目中的版本版本使用maven apereo远程库去下载

 

通过远程maven库下载cas-server-webapp的war包,步骤如下:

 

(一)访问Maven地址: http://mvnrepository.com/,并搜索cas-server-webapp

sso网站集成ldap_springcloud_06


 

(二)点击cas-server-webapp链接地址,下载最新的版本

sso网站集成ldap_springcloud_07

 

sso网站集成ldap_springcloud_08



9.下载cas-client-core的jar包,如下:

sso网站集成ldap_mybatis_09


 

10.CAS document文档,cas使用spring mvc开发,支持的协议,支持的开发语言等

sso网站集成ldap_sso网站集成ldap_10


 

sso网站集成ldap_springcloud_11


 

CAS的架构图:

sso网站集成ldap_java_12


 

sso网站集成ldap_springcloud_13


 

Cas的安装要求(我们项目实例使用server版本4.2.7,clent版本是3.3):

sso网站集成ldap_java_14


 

sso网站集成ldap_sso网站集成ldap_15



这是通过sso cas做的详细教程,里面有很多的文档和源码,源码可以直接运行查看效果。

sso网站集成ldap_mybatis_16