前言
下一篇:CAS單點登入-基礎搭建
介紹
CAS
CAS是一個單點登入框架, 是 Yale 大學發起的一個開源專案,旨在為 Web 應用系統提供一種可靠的單點登入方法,CAS 在 2004 年 12 月正式成為 JA-SIG 的一個專案。程式碼目前在github上管理
SSO
單點登入,英文全稱:Single Sign On(SSO)
SSO是指在多個應用系統中,使用者只需要登入一次就可以訪問所有相互信任的應用系統。
舉例
這裡我們就用淘寶和天貓舉例來展示一下單點登入吧
如圖,我們兩個網站都是沒有登入的,現在我們登入淘寶,然後不登入天貓直接重新整理。
由此,我們可以看出,在淘寶登陸上的時候,天貓自動登入了。這就是單點登入,一處登入,處處執行。
特徵
CAS專案支援以下功能:
- CAS v1,v2和v3協議
- SAML v1和v2協議
- OAuth v2協議
- OpenID和OpenID連線協議
- WS-Federation被動請求者協議
- 通過JAAS,LDAP,RDBMS,X.509,Radius,SPNEGO,JWT,Remote,Trusted,BASIC,Apache Shiro,MongoDb,Pac4J等進行身份驗證。
- 委派身份驗證到WS-FED,Facebook,Twitter,SAML IdP,OpenID,OpenID Connect,CAS等。
- 通過ABAC授權,時間/日期,REST,Internet2的Grouper等。
- 通過Hazelcast,Ehcache,JPA,Memcached,Apache Ignite,MongoDb,Redis,DynamoDb,Couchbase等進行HA叢集部署。
- 由JSON,LDAP,YAML,JPA,Couchbase,MongoDb,DynamoDb,Redis等支援的應用程式註冊。
- 通過Duo Security,YubiKey,RSA,Google Authenticator等進行多因素身份驗證。
- 用於管理日誌記錄,監視,統計,配置,客戶端註冊等的管理UI。
- 全域性和每應用程式使用者介面主題和品牌。
- 密碼管理和密碼策略實施。
CAS的基礎建立在:Spring Boot和 Spring Cloud之上。
流程圖
cas協議的流程圖