跟大家探讨关于权限管理设计的问题

setfocus 2004-06-10 09:51:52
用户和用户组是多对多的关系,用户加入用户组就得到用户组的权限,但是怎么处理用户如果被从用户组删除了之后,用户权限的删改?因为,用户组中某一部分权限可能是重复的!
比如说U1用户在用户组:管理组和操作组中,管理组的权限是可以执行AA,BB,CC,DD;操作组的权限是BB,CC,EE,FF
用户U1加入后自动得到权限AA,BB,CC,DD,EE,FF,如果用户剔除了U1在管理组那么他的权限就只有BB,CC,EE,FF了!要解决这个问题时,你们怎么做,设计时是怎么来设计的?
...全文
192 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
mib3000 2004-06-10
  • 打赏
  • 举报
回复
关注
viena 2004-06-10
  • 打赏
  • 举报
回复
\\可以考虑首先将所有权限全部删除,再根据用户目前所有所在的用户组重新赋予权限
是可以的啊,不是删除,是重新设置:
用户权限的集合=直接设置的权限集合+所属的各组的权限集合
outer2000 2004-06-10
  • 打赏
  • 举报
回复
这个的确比较困难;
看看WINDOWS的拥护权限你就知道了;
owencai 2004-06-10
  • 打赏
  • 举报
回复
今就即是同我的方法一样
setfocus 2004-06-10
  • 打赏
  • 举报
回复
非常感谢各位!我系统中的用户和权限不能相互独立,也就是,用户通过用户组得到权限,同时也可以增加不在用户中拥有的权限!
请继续关注
td427 2004-06-10
  • 打赏
  • 举报
回复
在我的系统中,用户、用户组、权限三者,用户和权限是相对独立的,也就是说用户不直接关联权限,而是通过用户组来链接。如:U1用户属于管理组,管理组拥有权限 AA,BB,CC,DD;使用时,先通过用户所属的用户组,找到该用户所应拥有的权限;当权限类型发生变化时,只需对用户组进行操作即可,而不必修改每个用户。
这样解决上述问题就变得相对简单,当用户所属的用户组发生变化后,在使用时只需重新核对该用户的用户组类型,然后找到该用户组所应拥有的权限。U1用户属于管理组(权限AA,BB,CC,DD)和操作组(BB,CC,EE,FF),由用户->用户组->权限得到U1用户拥有权限AA,BB,CC,DD,EE,FF,如果剔除了U1用户的管理组职权,不必关心管理组具体有哪些权限,在使用时,系统通过由用户(U1)->用户组(操作组)->权限(BB,CC,EE,FF),查得用户U1拥有权限BB,CC,EE,FF。
owencai 2004-06-10
  • 打赏
  • 举报
回复
其实可以不需要直接赋予权限给用户, 只需在需要检查权限的时候不必去检查用户的权限, 而是检查用户组的权限.
youhuiyun 2004-06-10
  • 打赏
  • 举报
回复
可以考虑首先将所有权限全部删除,再根据用户目前所有所在的用户组重新赋予权限,就可以实现了吧。
setfocus 2004-06-10
  • 打赏
  • 举报
回复
UP
jefferywang 2004-06-10
  • 打赏
  • 举报
回复
等待学习
juliens 2004-06-10
  • 打赏
  • 举报
回复
关注
看看高手的发言!
cow8063 2004-06-10
  • 打赏
  • 举报
回复
检查用户属于哪一组,再检查级的权限不行吗,不用检查用户权限的
pigeonwind 2004-06-10
  • 打赏
  • 举报
回复
能不能这样这样,把所有的权限建在同一个表中,比如userid,leiid,aa,bb,cc,dd等,有没有全限用1,0区分,0表示没有该项权限1则反之.userid为用户唯一id,leiid表示权限项目,这两个字段决定一条记录.对于增加用户将相应的组权限分入相当于insert into,当修改权限是更新权限相当于update,
whqcfp 2004-06-10
  • 打赏
  • 举报
回复
首先有一点:一个用户只能属于一个组,并且有唯一的id 号。
用户权限的存放可以用:用户ID 功能点ID 的方式。
增加权限时,只要按以上的方法存放。
删除权限时,删除以上记录就可以了。
对于组或角色也可以用以上的方法。
但有一点要求:那就是要把所有的功能点进行集中管理,并且一个功能点对应一个ID号。

以上的想法是有实践中使用过的,请大家发表意见。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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