什麼是單點登陸系統及實現

 

GitHub地址:https://github.com/leebingbin/Framework.Blade

 

1   什麼是單點登陸系統

1.1    什麼是SSO

SSO英文全稱Single Sign On,單點登陸。SSO是在多個應用系統中,用戶只須要登陸一次就能夠訪問全部相互信任的應用系統。它包括能夠將此次主要的登陸映射到其餘應用中用於同一個用戶的登陸的機制。它是目前比較流行的企業業務整合的解決方案之一。git

1.2    傳統的登陸流程

1.2.1  傳統流程中的問題:


    在集羣環境中。須要把同一套代碼部署到多臺服務器上。每一個工程都有本身獨立的session。github

 

1.3  解決方案

1.3.1第一種方案

    能夠配置tomcat的session共享。配置tomcat集羣。Tomcat配置好集羣后,會不停的向集羣中其餘的tomcat廣播本身的session信息。其餘的tomcat作session同步。能夠保證全部的tomcatsession中的內容都是一致的。redis

    優勢:不用修改代碼就能夠實現session共享。tomcat

    缺點:tomcat 是全局session複製,集羣內每一個tomcat的session徹底同步(也就是任什麼時候候都徹底同樣的) 在大規模應用的時候,用戶過多,集羣內tomcat數量過多,session的全局複製會致使集羣性能降低, 所以,tomcat的數量不能太多,5個如下爲好。服務器

    不能解決分佈式工程的session共享問題。例如支付寶和淘寶單點登陸的問題。session

1.3.2第二種方案

    實現單點登陸系統,提供服務接口。把session數據存放在redis。分佈式

    Redis能夠設置key的生存時間、訪問速度快效率高。性能

    優勢:redis存取速度快,不會出現多個節點session複製的問題。效率高。spa

 

    缺點:須要額外的開發。.net

1.3.3    單點登陸系統流程

 

本文爲博主原創文章,轉載請註明出處!

https://my.oschina.net/u/3375733/blog/

相關文章
相關標籤/搜索