無法查詢權限問題 求大佬看看
我自定義sql 通過角色名查詢不到權限 隨后使用默認sql 并把默認sql查詢 是可以獲得權限
有沒有大佬能說說這里面的流程是怎么樣的 我把我知道的方案都試了 依然獲取不到權限
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());
2022-07-14
這個token的時間是設置的多少呢