做了n多的MIS系统,很久以前就有这种想法,想把MIS系统中的用户权限
管理和审批流管理独立出来,做成单独的组件,但是因为各种各样的原
因,都没有去做,也许是太懒了。今天终于痛下决心,一定要把这两个
东西给做成组件,说干就干。因为代码还没有写完,今天暂时就把数据
库设计发上来,等代码搞好了,并且把代码搞的好看点后,我以后可能
会把这个权限管理组件和审批流管理组件开源。
今天暂时就看权限管理系统的数据库表设计吧。 子系统表,因为我这里设计的为了能够集成公司内部以后所有的系统的,所以建了子系统这张表,如果单个项目,这张表可以去掉。 模块表,系统中的各个模块。 模块功能表,模块中的各个功能(可以有两种功能,一种是页面的进入权限,一种是页面上的按钮事件) 用户表 角色表 用户分组表 用户部门表 用户权限表(也可以直接对用户赋予权限) 角色权限表(对角色赋予权限) 用户和分组关系表(一个用户可以属于多个分组) 用户和角色关系表(一个用户可以拥有多个角色) 用户分组和角色关系表(一个分组可以拥有若干角色)
posted on 2008-04-26 15:07 李梦蛟 阅读(4736) 评论(43) 编辑 收藏 所属分类: 系统分析设计
期待!! 回复 引用
这么简单呀,我是说没有写什么说明。 基本了解你的思路,因为我们的思路差不多。 回复 引用 查看
解决同样的问题,需要同样的方法。英雄所见略同。 回复 引用
稍显复杂,还做不到通用吧。 回复 引用 查看
通用是可以的了,只是感觉无限级分类的地方好像字段不是太够。 表之间的区分不是太明显。 提问:一个人是否可以在多个部门? 回复 引用 查看
@金色海洋(jyk) 一个人不能在多个部门的 回复 引用 查看
可以做成通用的。 回复 引用 查看
那要是一个员工在两个或多个部门的时候怎么办呀? 比如某部门经理兼任另一个部门的经理,或者。。。 怎么办呢? 回复 引用 查看
@金色海洋(jyk) 那就要把用户表里面的depid字段去掉,然后另外建一张用户和部门关系表 回复 引用 查看
没有权限控制的内容,我觉得应该把访问的页面也归为一种权限。权限和用户组关联,用户和用户组关联,而且可配置,能够很好的解决用户、用户组、权限得关系。把子系统,部门的概念去掉,不是每个软件都有这些概念的,使用用户组的概念。光看用户的定义就会发现,几乎用到任何一个不同的项目,它都会被修改,怎么通用呢? 回复 引用 查看
权限的数据最好不要存在数据库里 否则每次权限判断(非常平凡)都需要读取数据库 会很耗的。。。 当然可以用缓存,不过那样设计起来不会简单 最好还是用xml之类的,静态加载在内存里,这样效率会很 因为权限数据本身数据量不会太大 当然还得根据实际情况设计 回复 引用 查看
设计不好 回复 引用 查看
为什么不用membership呢,反正怎么做也不能应付所有的需求 回复 引用 查看
加油,我比较想看看你关于检测用户是否具备某权限,然后控制页面元素的代码,怎么做到通用. 回复 引用 查看
权限控制应该是分为三个控制层次:验证,授权,资源控制。 验证就是检查来访问者是否是本系统内合法的用户 授权是检查用户是否有权限进行某一项功能操作 资源控制则是控制着谁能访问什么资源 另外权限控制系统是建立在用户组织结构系统的基础上,应独立设计。 个人意见,有说错的地方欢迎拍砖! 回复 引用
权限如何和程序的功能结合是关键的 回复 引用
期待代码.楼主加油. 回复 引用 查看
和我们公司的流程类似,之前也想过,也是因为懒没有做...o(∩_∩)o...哈哈 回复 引用
我觉得表结构不如贴一个对象模型图更加容易理解。 回复 引用
建议你看看胡长城的关于组织关系模型的一些文章.已经很明了了 回复 引用 查看
概念视图都没有,先出现数据结构,遑论什么通用设计哦 回复 引用 查看
怎么这么乱哦。 先出现数据结构怎么就不能通用了呢? 我都用了好几个项目了,当然和lz的有点不太一样。 回复 引用 查看
大家可以参考一下李天平老师的代码生成器用的示例程序,里面的权限控制部份相当实用 回复 引用
似乎只有功能权限这部分的控制,没有数据权限的控制啊,比如某个部门的数据是否能被哪些人/部门浏览或修改。 回复 引用 查看
系统中又是角色又是用户组. 1,能跟我解释一下这两个有什么不同吗,好像有些重复了吧? 2,对数据的访问内容的权限怎么做,例如A能看见奔驰车数据,B能看见宝马车数据? 回复 引用 查看
有没有直接表下载:) 回复 引用
用户的手机,地址等信息不应该存在这里,这和权限没关系。 回复 引用 查看
希望能有实例,谢谢! 回复 引用
期待中。。。 回复 引用 查看
--引用-------------------------------------------------- 将飞: 系统中又是角色又是用户组. 1,能跟我解释一下这两个有什么不同吗,好像有些重复了吧? 2,对数据的访问内容的权限怎么做,例如A能看见奔驰车数据,B能看见宝马车数据? -------------------------------------------------------- 我的做法: 1、角色应该是系统内置的,用户组应该是用户可管理的,如“党员”、“女职工”、“姓邓的”等 2、通用的用户权限系统只做跟用户有关的资源权限控制,业务级的(你所说的)由具体的应用程序处理 回复 引用 查看
期待中. 回复 引用 查看
有uml才行啊。 回复 引用
--引用-------------------------------------------------- showfan: --引用-------------------------------------------------- 将飞: 系统中又是角色又是用户组. 1,能跟我解释一下这两个有什么不同吗,好像有些重复了吧? 2,对数据的访问内容的权限怎么做,例如A能看见奔驰车数据,B能看见宝马车数据? -------------------------------------------------------- 我的做法: 1、角色应该是系统内置的,用户组应该是用户可管理的,如“党员”、“女职工”、“姓邓的”等 2、通用的用户权限系统只做跟用户有关的资源权限控制,业务级的(你所说的)由具体的应用程序处理 -------------------------------------------------------- 1,我明白你的意思了,但博主的设计中有以下3个.用户直接跟角色联系了,还要分组做什么? 用户和分组关系表(一个用户可以属于多个分组) 用户和角色关系表(一个用户可以拥有多个角色) 用户分组和角色关系表(一个分组可以拥有若干角色) 2,能跟我分享一下你的思路吗?是不是查询时把条件写到Where中? 回复 引用 查看
在家就想看,可是手机总是打不开图片。哎,没电脑就是不行啊~ 回复 引用 查看
通用走不通,鉴定完毕! 回复 引用
@花非花 严重同意!部门是现实中的人物用例角色,而角色角色分组是系统中的内容!而我们不能因为因为某个人的现实中是总载就要给他最大的权限,这样,部门与角色的交叉会增加复杂度! 回复 引用
好像已经 有类似的开源项目了 http://framework.supesoft.com/ 回复 引用 查看
楼上的不是AD吧,开源的都是07年初的东西了,新的都是商业版了. 回复 引用 查看
希望早日完成你的通用用户管理系统 回复 引用
@花非花--引用--------------------------------------------------花非花: 没有权限控制的内容,我觉得应该把访问的页面也归为一种权限。权限和用户组关联,用户和用户组关联,而且可配置,能够很好的解决用户、用户组、权限得关系。把子系统,部门的概念去掉,不是每个软件都有这些概念的,使用用户组的概念。光看用户的定义就会发现,几乎用到任何一个不同的项目,它都会被修改,怎么通用呢?--------------------------------------------------------顶这个这样比较自由通过使用者的配置能够适应系统对权限的详细要求 回复 引用 查看
不错,可以让个人属于角色或者组,又考虑到了特权的情况,期待开源 回复 引用 查看
权限控制要分好几种啊,比如说菜单权限,一个用户进去后能看见哪些菜单,功能权限、数据权限(用户对哪些表的哪些字段有什么操作权限),菜单权限要单独设计表,功能权限和数据权限也要单独设计表。 还有,其实角色和用户组本质上都是对用户分组,可以用一个表实现。 以上是个人意见。 回复 引用
Powered by: 博客园 Copyright © 李梦蛟