溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Shiro整合CAS認證處理方法是什么

發(fā)布時間:2021-12-23 17:21:19 來源:億速云 閱讀:397 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“Shiro整合CAS認證處理方法是什么”,在日常操作中,相信很多人在Shiro整合CAS認證處理方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Shiro整合CAS認證處理方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

2、具體內(nèi)容

2.1、Shiro與CAS整合簡介

Shiro一定是現(xiàn)在最為流行的權限認證管理框架,但是現(xiàn)在已經(jīng)不再是最為傳統(tǒng)的Shiro處理了,因為此時的處理牽扯到CAS實現(xiàn)認證的操作部分,所以對于Shiro而言,它依然需要實現(xiàn)認證與授權檢測,但是這個時候的認證應該交由CAS完成。

Shiro整合CAS認證處理方法是什么

在現(xiàn)實的開發(fā)過程之中,客戶端是不可能直接訪問CAS服務器的。

1、需要在本地的windows系統(tǒng)的JDK里面導入服務器端證書:

·前提:已經(jīng)準確的配置了JAVA_HOME環(huán)境屬性:

·服務器端證書的所在路徑:D:\server.cer;

·認證授權庫:E:\ProgramFiles\Java\jdk1.8.0_74\jre\lib\security\cacerts;

keytool-import-aliasserver-filed:\server.cer-keystore"%JAVA_HOME%\jre\lib\security\cacerts"-storepasschangeit

·列出全部的本地的密鑰庫:

keytool-list-keystore"%JAVA_HOME%\jre\lib\security\cacerts"-storepasschangeit

搜索一下是否有server(別名);2、需要修改cas的配置文件,讓其支持http協(xié)議訪問:

·修改文件:

vim/usr/local/tomcat/webapps/cas/WEB-INF/classes/services/HTTPSandIMAPS-10000001.json;

2、需要修改cas的配置文件,讓其支持http協(xié)議訪問:

·修改文件:vim/usr/local/tomcat/webapps/cas/WEB-INF/classes/services/HTTPSandIMAPS-10000001.json;

  "serviceId":"^(http|https|imaps)://.*",

那么此時將支持http協(xié)議訪問的路徑。

2.2、實現(xiàn)CasRealm

1、如果要想在項目之中使用CAS作為整個認證處理,那么首先需要導入一個開發(fā)包:

·修改pom.xml文件追加shiro與cas整合的處理包:

Shiro整合CAS認證處理方法是什么

2、修改數(shù)據(jù)庫腳本,現(xiàn)在已經(jīng)整合在一起了,那么當前應該使用的數(shù)據(jù)表需要包含有角色、權限等信息。

Shiro整合CAS認證處理方法是什么

Shiro整合CAS認證處理方法是什么

Shiro整合CAS認證處理方法是什么

Shiro整合CAS認證處理方法是什么

Shiro整合CAS認證處理方法是什么

3、此時所有的查詢內(nèi)容都將交由CAS負責,而Shiro只是負責角色與權限數(shù)據(jù)的獲取。

范例:定義一個MemberCasRealm程序類,需要繼承CasRealm父類

Shiro整合CAS認證處理方法是什么

Shiro整合CAS認證處理方法是什么

Shiro整合CAS認證處理方法是什么

此時發(fā)現(xiàn)對于使用的Realm只有用戶認證部分發(fā)生了變化,而角色和權限的操作依然像之前那樣直接通過業(yè)務層讀取。

2.3、Shiro整合CAS認證處理方法是什么環(huán)境配置

1、當前的使用的數(shù)據(jù)庫IP地址為:192.168.122.204,所以應該首先修改database.properties文件,修改MySQL路徑:

db.driver=org.gjt.mm.mysql.Driver db.url=jdbc:mysql://192.168.122.204:3306/shirodb db.user=root db.password=mysqladmin db.maxPoolSize=1db.maxIdleTime=1db.minPoolSize=1db.initialPoolSize=1

2、修改當前的Realm使用類型(applicationContext.xml文件):

<beanid="memberRealm"class="cn.mldn.realm.MemberCasRealm">

Shiro整合CAS認證處理方法是什么

Shiro整合CAS認證處理方法是什么

Shiro整合CAS認證處理方法是什么

Shiro整合CAS認證處理方法是什么

Shiro整合CAS認證處理方法是什么

6、所有的訪問都以域名的方式出現(xiàn)的,所以還需要修改hosts文件,追加域名:

127.0.0.1shiro.com

·認證的訪問路徑:http://shiro.com/shirodemo/shiro-cas;

<%@taglibprefix="shiro"uri="http://shiro.apache.org/tags"%><h3><shiro:hasRolename="member">具有member角色shiro:hasRole></h3>

后臺會出現(xiàn)角色和權限的信息查詢提示信息。

到此,關于“Shiro整合CAS認證處理方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI