系统的权限设计问题
目前在做的产品权限设计很复杂,产品下有很多子系统,而且每个系统的用户的角色不完全一样,但是想统一规划一下,目的使有新的子系统添加来不至于混乱,程序改动不大,请高手指点,或者提供相关资料!
------解决方案--------------------
这是我以前的一段话,也许对你有点参考:
做为一个系统,公司的另一个系统出来了,要重搞一套系统权限管理
总这么搞下去还不把人搞死啊?
思路:
一、授权对象
想一想,无论是用户、角色、操作员还是操作员组...统统可以视为用户,也就是授权的对象
二、授权目标
普通的权限管理可能就是用户、功能 或角色功能,但是对于一个庞大的公司,数据操作范围是受到限制的,如集团一公司的某部门人员只能操作他这个部门的数据...
因而,无论是功能,还是数据范围的限制,总之,他们是授权目标
三、操作权限
对于每个目标,对于功能来说,可能一般系统不限制操作,但对于数据来说,就要限制操作,如增、删、改、查等等
四、状态
状态如何保存?状态是个核心问题。
因为每一个项目都有它自己的状态,于是,就应用DataSet,把项目、操作、项目操作定义在数据集中,并建立关系,并提供方法获取本次操作中状态变化数据。
五、树
做一个接口,只要满足这个接口,授权对象就可以以树状形式展式,并提供了TreeHelper
六、外部接口
因为项目、操作是有关系的,控件加载后,势必要加载数据及相应状态。难道这些做控件时就知道了吗?非也,要想独立,必段提供外部接口以供初始他们的状态,于是用事件完成(见代码)
针对上面的分析,于是想出搞一个台项目-操作 控件
而加上授权对象,同时就可能操作多种 项目-操作 的集合
说干就干,上下班的路上想着思路,上班就写,很快搞出了两个控件。
(当然,如果加班的话,搞不出来噢,是对我而言,哈哈)
现把控件源码(注意是控件源码,不是全部的权限管理子系统源码,后者仅供培训学员学习和与三方合作之用)共享出来,你将从中收获如下:
1、关于TreeView的一些操作及TreeHelper
2、DataSet及相关知识与状态
3、其它一些啦
有了以上基础的朋友,可以不用关心啦...
祝大家工作快乐!!!
长江支流
QQ:150439795
TEL:13651078179
http://blog.csdn.net/flygoldfish
------解决方案--------------------
http://www.cnblogs.com/cxd4321/archive/2009/01/12/1374140.html
------解决方案--------------------兄弟们帮在技术群里多发一下啊:
http://stockstar.com/
证券之星,上海,世纪大道
招.Net Web开发程序员20人,本科。
5k以下主要看态度,5k以上的主要看高性能大并发经验,10k以上要看运气了。
简历发至
yg.pan@stockstar.com