首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置Apache权限

配置Apache权限
EN

Stack Overflow用户
提问于 2016-05-30 21:50:11
回答 2查看 662关注 0票数 1

事情是这样的:我希望有这样的角色的用户:

表用户: id|username|role_id

表角色: id|name|add_users|add_customers|configure_mail|...|...|...

权限为二进制类型,当用户可以执行它有1或0的操作时。

在我的shiro.ini中,我有以下查询:

代码语言:javascript
复制
jdbcRealm=org.apache.shiro.realm.jdbc.JdbcRealm
jdbcRealm.authenticationQuery = SELECT password from users where username = ?
jdbcRealm.userRolesQuery = select name from roles where id = (select role_id FROM users WHERE username = ?)

有办法这样做吗?我已经找了好几天了。我非常感谢你的帮助。提前谢谢各位。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-01 14:02:06

我拿到了!!多亏了dev,他真的帮助我解决了这个问题,下面是解决方案(shiro.ini)

代码语言:javascript
复制
jdbcRealm=org.apache.shiro.realm.jdbc.JdbcRealm
jdbcRealm.permissionsLookupEnabled = true
jdbcRealm.authenticationQuery = SELECT password from users where username = ?
jdbcRealm.userRolesQuery = select id from roles where id = (select role_id FROM users WHERE username = ?)
jdbcRealm.permissionsQuery = SELECT name FROM permissions WHERE  UPPER(role_id)=UPPER(?)

我希望这对将来的人有帮助,谢谢你的帮助@dev

票数 1
EN

Stack Overflow用户

发布于 2016-05-31 04:28:39

不要将权限存储在另一个表中,这样您就可以进一步修改和增强权限,例如

代码语言:javascript
复制
Table users: id|username|role_id

Table roles: id|name

Table permission: permission|role

now in permission table
customer:add,04   -- 04 is role
mail:configure,04
.....

所以在西罗·尼尼

代码语言:javascript
复制
jdbcRealm.permissionsQuery = SELECT permid FROM apppermissions WHERE  UPPER(roleid)=UPPER(?)
jdbcRealm.permissionsLookupEnabled = true
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37534017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档