具體考察了一下cas方面的資料,感覺不太適合我們的平台.利用cas實現單點登陸的原理是把認證過程統一了,交給乙個認證機構(cas伺服器)去處理,所有應用都到這裡認證,認證方式分web應用和非web應用,web認證是基於瀏覽器的,非web應用是基於**的,非web應用可以通過cas的**認證實現.以下是我對我們平台部署cas服務的三種方式的評估:
1,我們的平台要用cas統一認證,那麼cas伺服器就要部署到我們的中心端,而客戶端就要從中心端登陸,於我們的需求不符.
2,如果我們把cas伺服器部署到客戶端(中心端不到這裡認證,只是把這裡作為acegi認證的乙個provider),然後客戶端給中心端提供**認證,那麼我們中心端必須明確知道客戶端的網路位址和其它一些情況,並且客戶端和中心端是多對一的關係,且不說中心端無法到定位客戶端,即使可以,中心端乙個乙個驗證認證資訊,效能可想而知.
3,在客戶端和中心端都部署cas伺服器,但問題在於怎麼把客戶端的認證資訊暴露給中心端??
以上三種方式,我都還沒找到解決方法,現在考慮的是怎麼擴充套件一下acegi,自定義一下認證方式,然後我把使用者一些標識傳到中心端,讓使用者在中心端自動登陸一下,然後把認證資訊儲存到acegi的認證物件裡,先在分析acegi原始碼.看看怎麼實現
以下是我們的需求:上次發帖好像響應者不多,本人水平有限,希望大夥能給點意見
概述:平台分客戶端和中心端(上次發帖說分客戶端和服務端,為避免大夥把服務端當作插上伺服器,就改名為中心端),客戶端只是實現了中心端的一部分功能,客戶端的資訊都會同步到中心端,
要求:
1,在客戶端登陸以後不需要在中心端再次登陸就能操作中心平台的服務
2,在客戶端和中心端連線失敗時要不影響客戶端操作.
對CAS的理解
比較並交換 compare and set public class casdemo atomicinteger.compareandset a,b 1 前乙個值為期望值,期望物理記憶體的值與該值相同 2 若真實值與期望值相同就將值改為b,並寫入物理記憶體,若不同,則不寫 unsafe類的getan...
對cas演算法的理解
對cas演算法的理解 cas演算法主要關心3個值 記憶體值v,預期值a,要更新的新值b。注 t1,t2執行緒是同時更新同一變數56的值 因為t1和t2執行緒都同時去訪問同一變數56,所以他們會把主記憶體的值完全拷貝乙份到自己的工作記憶體空間,所以t1和t2執行緒的預期值都為56。假設t1在與t2執行...
對CAS單點登陸的理解
cas是實現單點登陸的框架。使用者只需要登陸一次就可以訪問所有相互信任的應用系統。cas通過票據之間的傳遞達到目的。首先明確 cas只是控制分布式集群 的單點登陸,並不負責資源許可權的控制 tgt 登陸票據 表示某使用者登陸 整個系統的票據,session實現。對應多個session tgc tgt...