为一个系统,公司的另一个系统出来了,要重搞一套系统权限管理
总这么搞下去还不把人搞死啊?
思路:
一、授权对象
想一想,无论是用户、角色、操作员还是操作员组...统统可以视为用户,也就是授权的对象
二、授权目标
普通的权限管理可能就是用户、功能 或角色功能,但是对于一个庞大的公司,数据操作范围是受到限制的,如集才一公司的某部门人员只能操作他这个部门的数据...
因而,无论是功能,还是数据范围的限制,总之,他们是授权目标
三、操作权限
对于每个目标,对于功能来说,可能一般系统不限制操作,但对于数据来说,就要限制操作,如增、删、改、查等等
四、状态
状态如何保存?状态是个核心问题。
因为每一个项目都有它自己的状态,于是,就应用DataSet,把项目、操作、项目操作定义在数据集中,并建立关系,并提供方法获取本次操作中状态变化数据。
五、树
做一个接口,只要满足这个接口,授权对象就可以以树状形式展式,并提供了TreeHelper
六、外部接口
因为项目、操作是有关系的,控件加载后,势必要加载数据及相应状态。难道这些做控件时就知道了吗?非了,要想独立,必段提供外部接口以供初始他们的状态,于是用事件完成(见代码)
针对上面的分析,于是想出搞一个台项目-操作 控件
而加上授权对象,同时就可能操作多种 项目-操作 的集合
说干就干,上下班的路上想着思路,上班就写,很快搞出了两个控件。
(当然,如果加班的话,搞不出来噢,是对我而言,哈哈)
现把控件源码共享出来,你将从中收获如下:
1、关于TreeView的一些操作及TreeHelper
2、DataSet及相关知识与状态
3、其它一些啦
总这么搞下去还不把人搞死啊?
思路:
一、授权对象
想一想,无论是用户、角色、操作员还是操作员组...统统可以视为用户,也就是授权的对象
二、授权目标
普通的权限管理可能就是用户、功能 或角色功能,但是对于一个庞大的公司,数据操作范围是受到限制的,如集才一公司的某部门人员只能操作他这个部门的数据...
因而,无论是功能,还是数据范围的限制,总之,他们是授权目标
三、操作权限
对于每个目标,对于功能来说,可能一般系统不限制操作,但对于数据来说,就要限制操作,如增、删、改、查等等
四、状态
状态如何保存?状态是个核心问题。
因为每一个项目都有它自己的状态,于是,就应用DataSet,把项目、操作、项目操作定义在数据集中,并建立关系,并提供方法获取本次操作中状态变化数据。
五、树
做一个接口,只要满足这个接口,授权对象就可以以树状形式展式,并提供了TreeHelper
六、外部接口
因为项目、操作是有关系的,控件加载后,势必要加载数据及相应状态。难道这些做控件时就知道了吗?非了,要想独立,必段提供外部接口以供初始他们的状态,于是用事件完成(见代码)
针对上面的分析,于是想出搞一个台项目-操作 控件
而加上授权对象,同时就可能操作多种 项目-操作 的集合
说干就干,上下班的路上想着思路,上班就写,很快搞出了两个控件。
(当然,如果加班的话,搞不出来噢,是对我而言,哈哈)
现把控件源码共享出来,你将从中收获如下:
1、关于TreeView的一些操作及TreeHelper
2、DataSet及相关知识与状态
3、其它一些啦
http://www.rainbowportal.net/
http://www.rainbowportal.net/