第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

securityManager設置realm之后,realm再設置matcher,怎么生效的?

CustomRealm?customRealm?=?new?CustomRealm();
DefaultSecurityManager?defaultSecurityManager?=?new?DefaultSecurityManager();
//?設置realm
defaultSecurityManager.setRealm(customRealm);

HashedCredentialsMatcher?matcher?=?new?HashedCredentialsMatcher();
matcher.setHashAlgorithmName("md5");
matcher.setHashIterations(1);
//?設置matcher
customRealm.setCredentialsMatcher(matcher);

SecurityUtils.setSecurityManager(defaultSecurityManager);


正在回答

4 回答

JAVA的對象參數(shù)是引用傳遞的而不是值傳遞。你無論什么時候設置對象參數(shù)的屬性都一樣。

0 回復 有任何疑惑可以回復我~

去看HashedCredentialsMatcher的源碼,里邊有個doCredentialsMatch方法,你可以把斷點打到這里,程序運行的時候一步步看,很清楚地就能看到shiro的匹配過程



0 回復 有任何疑惑可以回復我~

java的引用傳遞

2 回復 有任何疑惑可以回復我~
#1

艾爾帕西諾

java沒有引用傳遞 只有值傳遞
2019-01-24 回復 有任何疑惑可以回復我~
#2

慕婉清秋 回復 艾爾帕西諾

不要誤人子弟
2021-05-13 回復 有任何疑惑可以回復我~
下面后續(xù)的部分代碼

//2、主體提交認證請求
SecurityUtils.setSecurityManager(defaultSerityManager);
Subject?subject?=?SecurityUtils.getSubject();
UsernamePasswordToken?token?=?new?UsernamePasswordToken("Mark",?"123456");
subject.login(token);

matcher設置進到了customRealm,customRealm設置進了defaultSecurityManager,

defaultSecurityManager設置進到了SecurityUtils,

通過SecurityUtils獲取一個subject主體,登錄的token會依據(jù)這條鏈路最終使用到設置的匹配器matcher的規(guī)則去進行權限認證。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

securityManager設置realm之后,realm再設置matcher,怎么生效的?

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號