shiro的多資料來源和認證策略
阿新 • • 發佈:2019-02-03
今天在學習shiro,順便做了下筆記,
採用多資料來源的意義:是為了保證資料的安全性。
第一種方式:
第一步:書寫多個realm實現類
第二步:SpringIOC容器中完成想用的bean配置
第三部:securityManager的bean中設定一個realms,並且通過集合物件完成屬性的注入。
第二種方式:
第一步:springIOC容器中配置一個認證器,ModularRealmAuthenticator
第二步:bean的realms屬性完成注入,是通過ModularRealmAuthenticator的realm完成屬性的注入。
第三步:securityManager當中注入一個authenticator屬性,告知安全管理器,我使用的具體的認證器例項。
認證策略: 1、FirstSuccessfulStrategy:只要有一個Realm驗證成功即可,只返回第一個Realm身份驗證成功的認證資訊,其他的忽略; 2、AtLeastOneSuccessfulStrategy:只要有一個Realm驗證成功即可,和FirstSuccessfulStrategy不同,將返回所有Realm身份驗證成功的認證資訊; 3、AllSuccessfulStrategy:所有Realm驗證成功才算成功,且返回所有Realm身份驗證成功的認證資訊,如果有一個失敗就失敗。 ModularRealmAuthenticator預設是AtLeastOneSuccessfulStrategy策略
認證策略: 1、FirstSuccessfulStrategy:只要有一個Realm驗證成功即可,只返回第一個Realm身份驗證成功的認證資訊,其他的忽略; 2、AtLeastOneSuccessfulStrategy:只要有一個Realm驗證成功即可,和FirstSuccessfulStrategy不同,將返回所有Realm身份驗證成功的認證資訊; 3、AllSuccessfulStrategy:所有Realm驗證成功才算成功,且返回所有Realm身份驗證成功的認證資訊,如果有一個失敗就失敗。 ModularRealmAuthenticator預設是AtLeastOneSuccessfulStrategy策略