国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

java - 能否將 MongoDB 作為 Shiro 的 realm 實現?

瀏覽:159日期:2023-12-16 13:32:47

問題描述

我的需求是從數據庫中讀取用戶及權限信息,以完成認證和授權。Shiro 提供了 JdbcRealm 實現,沒有 MongoDB 的 realm 實現。請問能否:

將 MongoDB 作為 Shiro 的 realm 實現?

如果可以,具體的配置該怎么寫?(Google 到一份具體實現代碼,但是缺少相關配置文件)

問題解答

回答1:

謝邀, 你只需要實現自己的Realm就行, 比如:

public class MyRealm extends AuthorizingRealm { // 認證 @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException { // TODO 從數據庫中獲取用戶信息, 從Mongo中查出來的 return null; } // 授權 @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { // TODO 從數據庫中獲取授權信息, 從Mongo中查出來的 return null; }}

然后把你自己的Realm設置到RealmSecurityManager中, 比如:

DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();securityManager.setRealm(new MyRealm());

然后把這個SecurityManager設置到ShiroFilter中就行, 比如:

ShiroFilterFactoryBean shiroFilterFactory = new ShiroFilterFactoryBean();shiroFilterFactory.setSecurityManager(securityManager);

標簽: java
相關文章:
主站蜘蛛池模板: 宣恩县| 南雄市| 清水河县| 五大连池市| 虹口区| 寻乌县| 柞水县| 南充市| 杭州市| 托克逊县| 永顺县| 依兰县| 醴陵市| 渭源县| 白山市| 务川| 嘉定区| 湾仔区| 汾西县| 万年县| 青田县| 阳东县| 邵阳市| 潜山县| 古田县| 肥西县| 罗平县| 中江县| 新蔡县| 古交市| 体育| 武陟县| 西青区| 库伦旗| 昌江| 连云港市| 陆良县| 桑植县| 鲁山县| 塔河县| 青田县|