免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
耶魯CAS Single Sign On
耶魯大學開發(fā)的單點登錄(Single Sign On)系統(tǒng)稱為CAS(Central Authentication Service),是一個獨立于平臺的,易于理解的開源軟件,支持代理功能。Spring Framework的Acegi安全系統(tǒng)支持CAS,并提供了易于使用的方案。

CAS的設(shè)計目標
       l、為多個Web應(yīng)用提供單點登錄基礎(chǔ)設(shè)施,同時可以為非Web應(yīng)用但擁有Web前端的功能服務(wù)提供單點登錄的功能;
      2、簡化應(yīng)用認證用戶身份的流程;
      3、將用戶身份認證集中于單一的Web應(yīng)用,讓用戶簡化他們的密碼管理,從而提高安全性;而且,當應(yīng)用需要修改身份驗證的業(yè)務(wù)邏輯時,不需要到處修改代碼;

CAS的設(shè)計和實現(xiàn)
       CAS(Central Authentication Server)被設(shè)計成一個獨立的Web應(yīng)用。它目前的實現(xiàn)是運行在HTTPS服務(wù)器上的幾個Java Servlet。通過三個URL來訪問:Login URL,Validation URL和可選的Logout URL。下圖是CAS的單點登錄流程示意圖:
 


       為了使用CAS,Web應(yīng)用重定向它的用戶(或簡單地創(chuàng)建一個超鏈接)到Login URL,例如https://secure.its.yale.edu/cas/servlet/login。用戶也可以手工訪問這個URL,如果希望預(yù)先驗證會話。
       Login URL處理初步的認證工作,它提示用戶輸入NetID和密碼,并用Kerberos服務(wù)器校驗它們是否匹配。為了接下來能自動重新驗證用戶身份,CAS也會試圖給瀏覽器回送Cookie(瀏覽器關(guān)閉后會自動過期)。這個Cookie用于識別已經(jīng)成功登錄的用戶身份。
       使用這個可選的Cookie,CAS可以為用戶實現(xiàn)對于多個Web應(yīng)用單點登錄的效果。這就是說,用戶只需輸入一次他的NetID和密碼,即可訪問任何使用CAS的資源服務(wù)。沒有這個Cookie,當Web應(yīng)用重定向用戶到CAS時,用戶每次都要輸入NetID和密碼。(用戶也可以通過訪問Logout URL,如https://secure.its.yale.edu/cas/servlet/logout,來要求CAS刪除這個Cookie。)
       為了處理初步的身份認證,CAS也記錄了用戶被重定向時訪問的service。可以這樣做是因為CAS要求重定向或鏈接用戶到Login URL的Web應(yīng)用提供一個service的標志符(在上圖中記為serviceID)。如果驗證成功,CAS創(chuàng)建一個位數(shù)很長的隨機數(shù)(我們稱之為ticket)。CAS把這個ticket和成功登錄的用戶以及用戶要訪問的service聯(lián)系起來。例如,如果用戶peon重定向自service S,CAS創(chuàng)建ticket T,這個ticket T允許peon訪問service S。這個ticket是個一次性的憑證;它僅僅用于peon,僅僅用于service S,并且只能使用一次,使用之后馬上會過期。
       一旦完成了初步的身份驗證,CAS重定向用戶瀏覽器回到原來的Web應(yīng)用URL。CAS之所以能記得原來的URL,是因為上面討論的service ID作為一個"callback URL"。CAS重定向用戶的瀏覽器回到原來的URL,并加上上面討論的ticket作為請求參數(shù)。
       為了讓討論更加清楚,考慮下面的例子。假設(shè)用戶在訪問http://www.yale.edu/tp之前需要驗證身份,我們把用戶從http://www.yale.edu/tp重定向到下面的Login URL:
       https://secure.its.yale.edu/cas/servlet/login?service=http://www.yale.edu/tp/authenticate.jsp
JSP頁面authenticate.jsp是網(wǎng)站資源的一部分。一旦完成了上面描述的初步身份驗證,CAS用下面的URL重定向用戶瀏覽器到這個JSP頁面:
       http://www.yale.edu/tp/authenticate.jsp?ticket=opaque-ticket-string
       一旦收到請求,authenticate.jsp頁面需要校驗這個收到的ticket,它把tickect傳送Validation URL(如http://secure.its.yale.edu/cas/servlet/validate)。authenticate.jsp頁面需要使用JSSE向Validation URL發(fā)送請求并讀取數(shù)據(jù)。當生成這個請求時,authenticate.jsp頁面還需要把先前的service ID用service的參數(shù)名傳送給Validation URL,例子如下:
       http://secure.its.yale.edu/cas/servlet/validate?ticket=T&service=S
       當CAS從Validation URL收到這個ticket,它檢查自己內(nèi)部數(shù)據(jù)庫,看看是否保存過這個ticket。如果數(shù)據(jù)庫有這個ticket,則進一步檢查數(shù)據(jù)庫中和ticket關(guān)聯(lián)的service是否和剛收到的service相匹配。如果匹配,則向請求驗證身份的應(yīng)用URL返回NetID;否則拒絕驗證這個請求。
       Validation URL向請求身份驗證的應(yīng)用URL返回數(shù)據(jù)的方式很簡單。CAS用text/plain的應(yīng)答方式返回兩行數(shù)據(jù);第一行是yes或no,取決于ticket驗證是否通過。如果ticket通過驗證,第二行則是成功通過身份驗證的用戶的NetID。如果ticket沒有通過驗證,第二行為空。例子如下:
       yes
       peon
       如果ticket通過驗證,CAS立即刪除該ticket,使它以后不能再使用。
       當完成了身份驗證的循環(huán)流程,Web應(yīng)用無需知道用戶的密碼即可校驗用戶身份。此外,如果用戶瀏覽器接受Cookie,它將保留一個可用于多次向CAS驗證用戶身份的Cookie,讓用戶以后不用再輸入NetID和密碼。(目前,這個用于身份驗證的Cookie保留8個小時。)
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
CAS實現(xiàn)SSO單點登錄原理
CAS3.0的工作流程
CAS 源碼分析 (非proxy模式)
單點登錄原理
[原創(chuàng)] SSO(Single Sign-on) in Action(上篇)-David....
單點登錄簡介
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服