Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
分布式架构
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
ChatGPT
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
GitHub工具
更多话题
benq 请教一个待实现用户,组织,角色,模块,权限之间的关联关系的问题
07-06-26
yangtao309
项目名称:用户权限平台
这是偶最近在忙的工作.在VO(heibernate)层处理他门之间的关联关系的部分感觉很棘手.
在处理中,组织与用户是多对对的关联,用户与角色也是多对多的关联,在处理角色与模块,权限(目前只有三种权限:读,写,完全控制)上的关联 我目前想了两种方案:
第一种方案:在角色与模块,权限之间建立一个代理中间(Proxy)对象间接的关联起来,
即:角色与Proxy是一对多的双向关联
而 模块与Proxy也是一对多的双向关联 权限与Proxy也是一对多的双向关联
而且,模块和权限不存在任何关联.这样的构架,在对角色部分进行CRUD时,给整个操作带来的是更加烦琐,界面不够友好.特别是在增加一个角色的时候需要读取所有的模块和权限信息,尔后再进行组合.
第二种方案:同样在角色与模块,权限之间建立一个代理中间(Proxy2)对象间接的关联起来,
即:角色与Proxy2是多对多的关联关系 而 模块与Proxy2是一对多的双向关联 权限与Proxy2也是一对多的双向关联
而且,模块和权限不存在任何关联.这样的设计在操作也是有些麻烦,可在实现中好是稍微好实现些.
现在 正为怎样处理这样的问题而 着急
多谢! 给个咨询
[该贴被yangtao309于2007年06月26日 09:21修改过]
[该贴被yangtao309于2007年06月26日 09:21修改过]
banq
2007-06-26 16:45
首先引入RBAC是毋庸置疑的,Role角色已经是用户/组织和模块权限之间的Proxy,中间者,也是解耦者。
关键必须引入一个树形结构,用户User和组织group之间是一个树形结构,用户/组织和角色的对应关系可自由指定,指定后关系持久在数据库种。
Role又是模块权限的代表,模块和权限的组合就是一个角色。比如对A模块的读和写再加上对B模块的读组成角色“XX”。
建议不从一对多或多对多等关系角色来考虑它们,否则容易陷入蜘蛛网不能自拔。
不知对你是否有帮助?
yangtao309
2007-06-26 21:57
我是想试着,不以数据库为设计的基础,在项目中灵活运用OO思想.既然用到持久层框架。我就的从具体VO开始.
我门也准备用树组件xloadtree.可比较设计第一步就是理清楚对象之间的关系.至于给提到的从树型结构方面考虑.我不太清楚是该如何去想那方面考虑.
我个人认为,设计
架构
应该就自己项目的各个方面上考虑.希望给讲解一下,如何就树型结构方面考虑.平台的设计.
还就是 如何不再直接考虑数据库方面的东西,先从VO开始,从VO到底层数据库的一个开发过程。给我灌一灌这方面的思想。谢谢 benq大哥
程序系统权限