Apache Shiro:PermissionsQuery似乎什么也没有返回

时间:2013-10-09 12:14:10

标签: jdbc shiro

shiro.ini中,我声明了以下SQL查询:

jdbcRealm.authenticationQuery = SELECT password FROM Person WHERE email = ?
jdbcRealm.userRolesQuery = SELECT id FROM SecurityRole WHERE id = (SELECT securityRole_id FROM Person WHERE email = ?)
jdbcRealm.permissionsQuery = SELECT action FROM SecurityPermission WHERE id = (SELECT permissions_id FROM securityrole_securitypermission WHERE securityrole_id = ?)

当我用?替换上一个查询中的1时,在db上运行它会返回预期结果:rest:*
SecurityUtils.getSubject().isPermitted(new WildcardPermission("rest"));会返回false,但登录用户的ID为1的分配角色,securityrole_securitypermission的条目为1和1,securitypermission的ID为1有action =“休息:*”。

enter image description here

1 个答案:

答案 0 :(得分:3)

jdbcRealm.permissionsLookupEnabled = true完成了这项工作。 ;)