Shiro安全框架 自定義認證

2021-09-01 13:26:01 字數 1143 閱讀 9073

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。根據上面穿...