# sso-shiro-下使用shiro+cas配置單點登錄,多個系統(tǒng)之間的訪問,每次只需要登錄一次## 系統(tǒng)模塊說明1。 cas: 單點登錄模塊,這里直接拿的是cas的項目改了點樣式而已2。 doc: 文檔目錄,里面有數(shù)據(jù)庫生成語句,采用的是。0,數(shù)據(jù)庫名為 3。 -node-1: 應用14。 -node-2: 應用2 其中node1跟node2都是采用 + + 框架,使用maven做項目管理## cas集成說明1。首先采用的是查數(shù)據(jù)庫的方式來校驗用戶身份的,在cas/WEB-INF/t。xml中第135行構(gòu)建了這個類型``` xml``` 其中這個類是自定義構(gòu)建的,在cas/WEB-INF/lib/cas-jdbc-1。0。0。jar里面,有興趣的同學可以發(fā)編譯看下,關(guān)于幾個屬性的說明 1。 : 數(shù)據(jù)源,配置MySQL的連接信息 2。
: 加密方式,這里用的是MD5 3。 sql: sql查詢語句,這個語句就是根據(jù)用戶輸入的賬號查詢其密碼#### 以上就是單點登錄管理的主要配置## 應用系統(tǒng)的配置。 應用系統(tǒng)采用shiro做權(quán)限控制cas單點登陸下載,并且跟cas集成2。 在/-node-1/src/main//conf/shiro。 文件中``` 。=。0。0。1:8080/cas/login?=。0。0。1:8081/node1/shiro-。=。0。0。1:8080/cas/?=。0。0。1:8081/node1/shiro-。cas。=。0。0。1:8080/。cas。=。0。0。1:8081/node1/shiro-。
=/users/。=/users/```其中shiro。 跟 shiro。的前面是cas驗證的地址,后面的是我們應用系統(tǒng)的地址,這樣配置的方式是為了在訪問我們的應用系統(tǒng)的時候,先到cas進行驗證,如果驗證成功了,cas將重定向到shiro。 所表示的地址3。在/-node-1/src/main//conf/shiro。xml 文件中``` xml/shiro-cas = / = /users/** = user```> 其中這個類主要用于需要攔截的url請求,需要注意的是這個是shiro的攔截,我們還需要配置cas的過濾配置> 這個類是需要我們自己實現(xiàn)的,主要用于shiro的權(quán)限驗證,里面的屬性說明如下1。 : 默認的角色2。 : cas地址3。
: 系統(tǒng)應用地址最后我們還需要在/-node-1/src/main//WEB-INF/web。xml 文件中配置相關(guān)的過濾器攔截全部請求``` 。。web。。/*```## 系統(tǒng)運行1。 端口說明,cas:8080,node1:8081,node2:8082,大家可以采用maven提供的插件,配置如下:``` 。。。-maven-。-/node1```這樣的配置,我們甚至都不需要配置服務器了,建議這種方式2。各個模塊的訪問地址> cas::8080/cas> node1::8081/node1> node2::8082/。訪問系統(tǒng)> 輸入 :8081/node1/shiro-cas ,進入cas驗證> 輸入用戶名 admin,密碼 admin@2015,驗證成功后將會重定向到:8081/node1//users/cas單點登陸下載,也就是node1系統(tǒng)的主頁,里面的節(jié)點2代表的是node2系統(tǒng)的主頁,你會發(fā)現(xiàn)我們不需要登錄到node2系統(tǒng)就能訪問其中的系統(tǒng)了