为了账号安全,请及时绑定邮箱和手机立即绑定

jdbcRealm 获取permission subject.isPermitted("user:delete")总是false

//权限查询
String permissionSql="SELECT t1.permission FROM roles_permissions t1 INNER JOIN test_user_role t2 " +
        "ON t1.rolename= t2.rolename " +
        "AND t2.username= ?";
jdbcRealm.setPermissionsQuery(permissionSql);


//1. 构建securityManager环境
DefaultSecurityManager defaultSecurityManager=new DefaultSecurityManager();
defaultSecurityManager.setRealm(jdbcRealm);
//2. 主体提交认证请求
SecurityUtils.setSecurityManager(defaultSecurityManager);
Subject subject=SecurityUtils.getSubject();

UsernamePasswordToken token =new UsernamePasswordToken("xiaoming","123");
//subject.login(token);

//System.out.println("loginresult:"+subject.isAuthenticated());
//System.out.println("++++");
//subject.checkRole("user");
//System.out.println("roleresult:"+subject.hasRole("user"));

//System.out.println("=====");
System.out.println("permissionresult:"+subject.isPermitted("user:delete"));

输出结果:

permissionresult:false

这个permission结果怎么总是false?数据库中执行这个sql 结果就是 user:delete 。但是这里执行就是false

求讲解

正在回答

举报

0/150
提交
取消

jdbcRealm 获取permission subject.isPermitted("user:delete")总是false

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信