Shiro 六 多Realm驗證

2021-10-24 13:48:29 字數 2563 閱讀 7210

在com.dw.shiro.realms下建立secondrealm

驗證方式改為sha1驗證

1. secondrealm**如下:

public

class

secondrealm

extends

authenticatingrealm

//5.根據使用者資訊的情況,決定是否丟擲其他異常if(

"monster"

.equals

(username)

)//6.根據使用者情況構建authenticationinfo物件並返回 ,通常實現類為******authenticationinfo

//以下資訊是從資料庫獲取的

/* * principal:認證的實體資訊,可以是username,也可以是實體類物件

* credentials:資料庫中獲取的密碼

* realmname:當前realm物件的name,呼叫父類的getname()方法即可

4.修改securitymanager

5.輸入 user 123456 登入,控制台輸出

說明兩個realm都可以使用了。

shirorealm先起作用,然後secondrealm起作用。他們兩個有先後順序。

shiro預設的認證策略是只要有乙個realm驗證成功就可以了。

原始碼如下:

Shiro 多Realm驗證和認證策略 七

檢視源 modularrealmauthenticator類 再新增乙個secondshirorealm類 修改,用使用者名稱作為鹽值哦 object credentials null if mike equals username else if admin equals username c r...

Shiro 多Realm時,指定登入Realm

之前寫過多realm登入前後臺區分問題,實現了當時的需求,可是再下一步的時候,角色與許可權校驗會失效。為了滿足當時的專案需求,又拓展了鑑權源,以及若干功能類。在本人看來,這種方式很low,玷汙了shiro。現在有乙個較好的方式去實現前後臺的認證與鑑權。通過自定義token類來達到鑑別目的。shiro...

Shiro基礎知識 Realm(二)

authenticationinfo有兩個作用 1 如果realm 是authenticatingrealm 子類 包括authorizingrealm,它繼承authenticationrealm 則提供給authenticatingrealm 內部使用的credentialsmatcher進行憑...