網(wǎng)上說(shuō)了很多諸如是spring加載順序,shirofilter在spring自動(dòng)裝配bean之前的問(wèn)題,其實(shí)也有可能忽略如下低級(jí)錯(cuò)誤。
在shiroconfiguration中要使用@bean在applicationcontext注入myrealm,不能直接new對(duì)象。
道理和controller中調(diào)用service一樣,都要是springbean,不能自己new。
錯(cuò)誤方式:
1
2
3
4
5
6
7
|
@bean (name = "securitymanager" ) public securitymanager securitymanager() { defaultwebsecuritymanager manager = new defaultwebsecuritymanager(); myrealm myrealm = new myrealm(); manager.setrealm(myrealm); return manager; } |
正確方式:
1
2
3
4
5
6
7
8
9
10
11
|
@bean (name = "myrealm" ) public myrealm myauthrealm() { myrealm myrealm = new myrealm(); return myrealm; } @bean (name = "securitymanager" ) public securitymanager securitymanager( @qualifier ( "myrealm" )myrealm myrealm) { defaultwebsecuritymanager manager = new defaultwebsecuritymanager(); manager.setrealm(myrealm); return manager; } |
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)服務(wù)器之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
原文鏈接:https://blog.csdn.net/u011961421/article/details/78803998