在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進行憑...