1.和之前一樣先引入依賴:
org.apache.shiro
shiro-web
$
org.apache.shiro
shiro-core
$
org.apache.shiro
shiro-spring
$
commons-logging
commons-logging
1.2
2.配置好自定義shiro.ini的資訊
#自定義認證的全路徑限定名
myreal=com.zking.shiro.myshriorealm
securitymanager.realms=$myreal
3.建立自定義 myshiroreaml類 繼承 authorizingrealm(裡面有認證和授權的方法)
/**
* 授權
* @param principalcollection
* @return
*/@override
protected authorizationinfo dogetauthorizationinfo(principalcollection principalcollection)
/*** 認證
* @param authenticationtoken
* @return
* @throws authenticationexception
*/@override
protected authenticationinfo dogetauthenticationinfo(authenticationtoken authenticationtoken) throws authenticationexception
4.在測試類測試
/**
* shiro的自定義認證realm
*/@test
public void test2()
返回結果為true.
自定義認證是根據名稱走的,名稱去找到密碼,在認證的時候就只認證密碼就行啦,這就要求名稱是唯一的.
Shiro 自定義角色 認證
由於shiro filterchaindefinitions中 roles預設是and,user,roles system,general 比如 roles system,general 表示同時需要 system 和 general 2個角色才通過認證 所以需要自定義 繼承 authorizati...
Shiro 自定義Realm實現認證
1.獲取當前的 subject.呼叫 securityutils.getsubject 2.測試當前的使用者是否已經被認證.即是否已經登入.呼叫 subject 的 isauthenticated 3.若沒有被認證,則把使用者名稱和密碼封裝為 usernamepasswordtoken 物件 1 建...
shiro自定義realm認證 五
上一節介紹了realm的作用 realm 需要根據token中的身份資訊去查詢資料庫 入門程式使用ini配置檔案 如果查到使用者返回認證資訊,如果查詢不到返回null。token就相當於是對使用者輸入的使用者名稱和密碼的乙個封裝。下面就是建立乙個使用者名稱密碼token 自定義realm。根據上面穿...