关于数据库权限设计的问题

用户表 -- 用户角色映射表 -- 角色表

角色表 -- 角色权限映射表 -- 权限表
权限表 -- 模块表
角色表 -- 角色菜单映射表 -- 菜单表(所有的资源,包括链接,按钮)

我们现在要做的权限就是能控制到所有的链接! 而且以后还会进行二次开发的扩展.

今天看到我们项目的一个权限的结构设计,中间有几点怎么也理解不了,脑子就是转不过弯来... 求解!

首先,权限表的作用是什么? 因为从这个结构看角色表直接控制了菜单表.
而既然角色控制了所有的连接了那权限的增,删,改,查的作用体现在哪里?
还有! 既然所有的资源都早已被角色表控制了,那权限还怎么控制模块?
就比如说:我张三,李四属于人员模块.我这个角色已经控制了张三李四了.那权限控制的模块还有什么意义?
因为这个设计里面的模块和菜单没有任何的关联字段.

不知道各位有何见解? 求解答... 也欢迎各位提出更好的设计方案.

权限管理模型RBAC

给你个图,你自己看能不能看懂

[img]http://www.family168.com/oa/springsecurity/shared/images/ap08-04.png[/img]

角色其实就是组 角色中包含了权限(一个角色有多种权限) 但是角色中没有的权限也可以加入到用户中 或者一个用户可以有多个角色
不过说真的 不建议权限也做表 最好用2进制来作为权限分配 这样可以减少数据量,呵呵。linux等系统就是用这样的套路的。

用户<角色<权限 这么比喻不一定恰当
其实就是说明。角色可以拥有多种权限,用户可以属于不同角色。
其实权限表就是一个 每个用户对应可访问资源的集合表

补充下。具体点就是,只读,可写,拒绝,等等。。。

这里有个通用的用户权限系统的在线DEMO:[url=http://219.153.65.21:8080/ ]http://219.153.65.21:8080/ [/url]
建议你先自己通过实际操作来了解
[url=http://www.upms.com.cn/index.html]UPMS通用用户权限系统[/url]