请问如何设计系统权限设计

c_bai 2014-05-06 10:28:01
系统权限设计
权限包括功能权限和数据权限
功能权限:
组织机构,是公司的组织架构,有不同的组织类型(公司、部门、小组、其他),有上下级关系。
用户:系统登录使用用户,用户挂在组织机构下。
角色:系统功能角色,如:管理员,部门经理,普通用户等,用户与角色是多对多的关。有上下级关系,上级角色拥有下级角色的所有权限;
系统资源:菜单,功能操作按钮。如:部门管理是菜单,增、删、改、查是操作,每一项对应一个URL。 资源与角色是多对多关系。有上下级关系



疑问1:了解一下系统的权限设计,有的设计中,系统资源表分为2张表(资源表和操作表),我设计把这2块放在一起,用类型区别(菜单和操作),能否满足需求?
疑问2:用户是否需要做上下级管理(下属管理),我没有做,我默认是以组织机构为上下级,能否满足需求?
疑问3:权限控制颗粒度如果做到细分化,如何在页面上控制到操作权限?
疑问4:如下设计只是做了功能权限的设计,如果做数据权限的设计?
目前数据权限控制是在程序中定义的,比如:普通用户只能看到他自己的数据,部门经理就能看到该部门下所有员工的数据,以组织机构来划分数据范围;能否有更好的设计做成可配置化的?

数据库设计如下(简单设计):
...全文
206 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Defonds 2014-05-06
  • 打赏
  • 举报
回复
你这是基于 rbac 模型的吧,它的缺点就是权限控制粒度太粗
DwGoing 2014-05-06
  • 打赏
  • 举报
回复
可以定义拦截器
teemai 2014-05-06
  • 打赏
  • 举报
回复
引用 4 楼 c_bai 的回复:
[quote=引用 3 楼 xuguiyi100 的回复:] 1、可以放在一张表,但是要有归属关系 2、用户个人感觉不需要上下级 3、页面只能根据用户拥有的权限去判断,如果用做成比较通用的,那就需要写标签实现 4、你要做成什么样的可配置,满足一般系统你公司需求系统即可的。以后有需求再去扩展,升级
我要做成通用的,按钮级别的权限管理系统。 有的设计中,系统资源表分为2张表(资源表和操作表),我设计把这2块放在一起,用类型区别(菜单和操作),能否满足需求?[/quote] 基本就这样了,考虑通用性,可以把关系做出配置
c_bai 2014-05-06
  • 打赏
  • 举报
回复
引用 2 楼 defonds 的回复:
你这是基于 rbac 模型的吧,它的缺点就是权限控制粒度太粗
那你是怎么做权限管理的呀? 可以介绍下吗?
c_bai 2014-05-06
  • 打赏
  • 举报
回复
引用 3 楼 xuguiyi100 的回复:
1、可以放在一张表,但是要有归属关系 2、用户个人感觉不需要上下级 3、页面只能根据用户拥有的权限去判断,如果用做成比较通用的,那就需要写标签实现 4、你要做成什么样的可配置,满足一般系统你公司需求系统即可的。以后有需求再去扩展,升级
我要做成通用的,按钮级别的权限管理系统。 有的设计中,系统资源表分为2张表(资源表和操作表),我设计把这2块放在一起,用类型区别(菜单和操作),能否满足需求?
xuguiyi100 2014-05-06
  • 打赏
  • 举报
回复
1、可以放在一张表,但是要有归属关系 2、用户个人感觉不需要上下级 3、页面只能根据用户拥有的权限去判断,如果用做成比较通用的,那就需要写标签实现 4、你要做成什么样的可配置,满足一般系统你公司需求系统即可的。以后有需求再去扩展,升级

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧