单点登录系统和CAS的简介
什么是單點登錄?
單點登錄(Single Sign On),簡稱為SSO,是目前比較流行的企業業務整合的解決方案之一.SSO的定義是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統.
如果我們的系統存在于諸多的子系統中,而這些子系統是分別部署在不同的服務器中,那么使用傳統方式的session是無法解決的,我們需要使用相關的單點登錄技術來解決.
通過這張圖就可以簡單的對單點登錄有一定的了解:
1.用戶第一次訪問應用系統的時候,因為還沒有登錄,就會被引導到認證系統中進行登錄.
2.根據用戶提供的登錄信息,認證系統進行身份校驗,如果通過校驗應該返回給用戶一個認證的憑據--ticket
3.用戶再訪問別的應用的時候,就會將這個ticket帶上,作為自己的憑據,應用系統接收到請求之后,就會把ticket送到認證系統進行校驗,檢查ticket的合法性.如果通過校驗,用戶就可以在不用再次登錄的情況下訪問應用系統2和3了.
要實現SSO,需要一下主要的功能:
所有應用系統共享一個身份認證系統.
統一的認證系統是SSO的前提之一,認證系統的主要功能是將用戶的登錄信息和用戶信息庫相比較,對用戶進行登錄認證,認證成功后,認證系統應該生成統一的認證標志(ticket),返還給用戶,另外,認證系統還應該對ticket進行校驗,判斷其有效性.
所有應用系統能過識別和提取ticket的信息.
要實現SSO的功能,讓用戶只登錄一次,就必須讓應用系統能夠識別已經登錄過的用戶,應用系統應該能對ticket進行識別和提取,通過與認證系統的通訊,能自動判斷當前用戶是否登陸過,從而完成單點登錄的功能.
優點:
1.提高用戶的效率:用戶不再被多次登錄困擾,也不需要記住多個ID密碼,另外,用戶忘記密碼并求助于支持人員的情況也會減少.
? ?2.提高開發人員的效率:SSO為開發人員提供了一個通用的身份證驗證框架.實際上,如果SSO機制是獨立的,那么開發人員就完全不需要為身份驗證進行操心,他們可以假設,只要對應用程序的請求附帶一個用戶名,身份驗證就已經完成了.
? ?3.簡化管理:如果應用程序加入了單點登錄協議,管理用戶賬號的負擔就會減輕,簡化的程度取決于應用程序,因為SSO只處理身份驗證.所以,應用程序可能仍然需要設置用戶的屬性(比如訪問特權).
缺點:
? ?1.不利于重構:因為涉及到的系統會很多,要重構必須要兼容所有的系統,可能很耗時.
? ?2.無人看守桌面:因為只需要登錄一次,所有的授權的應用系統都可以訪問,可能導致一些很重要的信息泄露.
CAS(中央認證服務)
CAS是Central Authentiction Service 的縮寫,中央認證服務,一種獨立開放指令協議.CAS是Yale大學發起的開源項目.旨在為Web應用系統提供一種可靠的單點登錄方法,CAS在2004年12月正式稱為JA-SIG的一個項目.
特點:
1.開源的企業級單點登錄解決方案.
2.CAS Service為需要獨立部署的Web應用.
3.CAS Client 支持非常多的客戶端(這里指單點登錄系統中的各個Web應用),包括Java ? .NET PHP ?Apache uPortal Ruby等
?
總結
以上是生活随笔為你收集整理的单点登录系统和CAS的简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RocketMQ中的Topic和JMS的
- 下一篇: 引入幂等性后对系统有什么影响?