更新時間:2023-02-07 15:32:45 來源:動力節點 瀏覽951次
1.Apache Shiro的三大核心組件:
Authentication和Authorization:
在Shiro的用戶權限認證過程中其通過兩個方法來實現:
其他組件:
除了上述幾個組件外:Shiro還有幾個組件:
2.Shiro的優點:
3.比較Spring Security和Apache Shiro:
4.Shiro如何自實現認證:
Shiro的認證過程由Realm執行,SecurityManager會調用Realm包下的getAuthenticationInfo(AuthenticationToken token)方法。
實際開發中,通常提供org.apache.shiro.realm.AuthenticatingRealm 的實現類,并在該實現類中提供doGetAuthenticationInfo(AuthenticationToken token)方法的具體實現。
5.Shiro如何實現自實現授權:
實際開發中,通常提供org.apache.shiro.realm.AuthenticatingRealm 的實現類,并提供doGetAuthorizationInfo(PrincipalCollection principals)方法的具體實現。
配置ShiroConfig
創建一個方法并給注解@Bean將其交給Spring進行管理,返回類型為ShiroFilterFactoryBean類型 參數為SecurityManager securityManager
在方法中new ShiroFilterFactoryBean(),運用setSecurityManager()把securityManager傳進去進行設置
運用setLoginUrl讓用戶在訪問某個接口需要登錄時跳轉頁面,運用setUnauthorizedUrl讓用戶登錄后沒有權限時跳轉頁面
new LinkedHashMap<>();把相關路徑所需的權限進行設置,之后把其交給setFilterChainDefinitionMap()中。
創建一個方法并給注解@Bean將其交給Spring進行管理,返回類型為SecurityManager類型的securityManager()方法,new DefaultWebSecurityManager();
因其securityManager可以管理各種組件,所以可以綁定各種自定義的組件,設置綁定realm推薦放到最后,不然某些情況下不生效。
6.Shiro有哪些組件:
Authentication:身份認證/登錄,驗證用戶是不是擁有相應的身份。
Authorization:授權,即權限驗證,驗證某個已認證的用戶是否擁有某個權限
Session Manager:會話管理,即用戶登錄后就是一次會話,在沒有退出之前,它的所有信息都在會話中;會話可以是普通JavaSE環境的,也可以是如Web環境的;
Crypotgraphy:加密,保護數據的安全行,如密碼加密存儲到數據庫,而不是明文存儲;
Web Support:Web支持,可以非常容易的集成到Web環境。
Remember me:記住我,這是一個非常常見的功能,即一次登錄后,下次再來的話不用登錄了。
以上就是“快問快答之shiro框架面試題”,你能回答上來嗎?如果想要了解更多的Java面試題相關內容,可以關注動力節點Java官網。
相關閱讀
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習