單點登入sso(single sign on)說得簡單點就是在乙個多系統共存的環境下,使用者在一處登入後,就不用在其他系統中登入,也就是使用者的一次登入能得到其他所有系統的信任。單點登入在大型**裡使用得非常頻繁,例如像阿里巴巴這樣的**,在**的背後是成百上千的子系統,使用者一次操作或交易可能涉及到幾十個子系統的協作,如果每個子系統都需要使用者認證,不僅使用者會瘋掉,各子系統也會為這種重複認證授權的邏輯搞瘋掉。實現單點登入說到底就是要解決如何產生和儲存那個信任。
cookie 的資料是可以共享的,但要滿足條件:
子path可以訪問父path的資料,埠一樣
localhost:8080/crm
localhost:8080/crm/ehr
設定根path,埠可以不一樣
localhost:8080/
localhost:8090/
父子域如京東購物和京東超市
org.springframework.boot
spring-boot-starter-parent
1.5.10.release
org.springframework.boot
spring-boot-starter-web
org.apache.tomcat.embed
tomcat-embed-jasper
provided
jstl
jstl
1.2
org.springframework.boot
spring-boot-devtools
true
org.springframework.boot
spring-boot-starter-test
test
構建兩個專案:crm 、ehr
eh專案r:
server:
port: 8080
# context-path: /crm
spring:
mvc:
view:
prefix: /web-inf/jsp/
suffix: .jsp
crm專案:
server:
port: 8090
# context-path: /ehr
spring:
mvc:
view:
prefix: /web-inf/jsp/
suffix: .jsp
ehr:核心**
crm:核心**
}登入頁面**:
#redis配置
redis:
# 資料庫索引
database: 0
# 伺服器位址
host: 127.0.0.1
# 伺服器連線埠
port: 6379
# 鏈結密碼
password:
# 鏈結池
pool:
# 最大連線數(負值表示沒有限制)
max-active: 8
# 最大阻塞等待時間(負值表示沒有限制)
max-wait: 1
# 最大空閒鏈結
max-idle: 8
# 最小空閒鏈結
min-idle: 0
# 鏈結超時時間(毫秒)
timeout: 5000
單點登入與許可權管理本質 單點登入介紹
繼續介紹 單點登入與許可權管理 系列的第一部分 單點登入與許可權管理本質,前兩篇介紹了session與cookie 和 http重定向 有了他們,瀏覽器就可以在多個系統間自動互動,實現自動登入。該系列的完整寫作計畫,可見 系列概述 本篇介紹下單點登入,所謂單點登入,就是說使用者只需在乙個地方登入,訪...
單點登入與許可權管理本質 單點登入介紹
繼續介紹 單點登入與許可權管理 系列的第一部分 單點登入與許可權管理本質,前兩篇介紹了session與cookie 和 http重定向 有了他們,瀏覽器就可以在多個系統間自動互動,實現自動登入。該系列的完整寫作計畫,可見 系列概述 本篇介紹下單點登入,所謂單點登入,就是說使用者只需在乙個地方登入,訪...
JWT介紹與單點登入
jwt 是乙個開放標準 rfc 7519 它定義了一種用於簡潔,自包含的用於通訊雙方之間以 json 物件的形式安全傳遞資訊的方法。jwt 可以使用 hmac 演算法或者是 rsa 的公鑰金鑰對進行簽名。它具備兩個特點 可以通過url,post 引數或者在 http header 傳送,因為資料量小...