亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

無法查詢權限問題 求大佬看看

我自定義sql 通過角色名查詢不到權限 隨后使用默認sql 并把默認sql查詢 是可以獲得權限

http://img1.sycdn.imooc.com//621f4041000177fb08130225.jpg

有沒有大佬能說說這里面的流程是怎么樣的 我把我知道的方案都試了 依然獲取不到權限

http://img1.sycdn.imooc.com//621f40a800012c7210190181.jpghttp://img1.sycdn.imooc.com//621f40b80001c9fe10660308.jpg

setPermissionsLookupEnabled?已設置為true

//這是我的測試方法
????????JdbcRealm?jdbcRealm?=?new?JdbcRealm();
????????jdbcRealm.setDataSource(dataSource);
????????jdbcRealm.setPermissionsLookupEnabled(true);

????????//自定義查詢用戶sql
????????String?sql?=?"select?password?from?account?where?username?=??";
????????jdbcRealm.setAuthenticationQuery(sql);

????????//查詢角色sql
????????String?roleSql?=?"SELECT?role_name?FROM?role?WHERE?role_id?=?(SELECT?role_id?FROM?account?WHERE?username?=??)";
????????jdbcRealm.setUserRolesQuery(roleSql);

????????//查詢權限
//????????String?permissionSql?=?"SELECT?resource_name?FROM?resource?WHERE?resource_id?in?(SELECT?resource_id?FROM?role_resource?WHERE?role_id?=?(SELECT?role_id?FROM?role?WHERE?role_name?=??))";
//????????jdbcRealm.setPermissionsQuery(permissionSql);

????????//構建Security環境
????????DefaultSecurityManager?defaultSecurityManager?=?new?DefaultSecurityManager();
????????defaultSecurityManager.setRealm(jdbcRealm);

????????//主體提交認證請求
????????SecurityUtils.setSecurityManager(defaultSecurityManager);
????????//獲取主體
????????Subject?subject?=?SecurityUtils.getSubject();

????????UsernamePasswordToken?token?=?new?UsernamePasswordToken("jack","123456");
????????subject.login(token);
????????subject.checkRole("普通角色");
????????subject.checkPermission("客戶管理");
????????System.out.println("是否認證:"?+?subject.isAuthenticated());

正在回答

1 回答

這個token的時間是設置的多少呢

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

舉報

0/150
提交
取消

無法查詢權限問題 求大佬看看

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

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號