用户权限管理!重分求解
Win Form下的用户权限管理:左边一个DataGrid显示用户记录,右边一个CheckedListBox,为权限列表,根据选中的用户记录不同,CheckedListBox做相应的改变。管理员可修改不同用户的权限,并可将权限信息保存到数据库中。
多谢提供思路,有源码更好。多谢 多谢。
问题点数:20、回复次数:15Top
1 楼love007(风中的风)回复于 2005-04-08 11:29:42 得分 5
用 0和1来表示
1 表示有
0表示无
建立两个表
一个用户表
...
pri varchar(100) default '111111111...'
一个权限表
...
privid ...
priv ..
insert into 权限表(1,'用户删除')
Top
2 楼hbhdlzq(天高云淡)回复于 2005-04-08 11:30:40 得分 0
呜呜,怎么没人回答这个问题呀?高人快来呀Top
3 楼love007(风中的风)回复于 2005-04-08 11:33:40 得分 5
上面写错了
insert into 权限表(...) values(1,'用户删除')
insert into 权限表(...) values(2,'用户修改')
..
如果用户中的权限字段 priv 第一位为1的话说明有用户删除权限,否则的没有,依次类推
修改权限无非就更改成"1"或"0"了
Top
4 楼cxmhome(不知花落几时)回复于 2005-04-08 11:34:31 得分 0
按照 love007(风中的风) 的思路去做就可以了,楼主在好好想想.Top
5 楼hbhdlzq(天高云淡)回复于 2005-04-08 11:50:00 得分 0
不明白啊?说详细点,初学不易啊Top
6 楼yitiaocheng_10(年华无眠)回复于 2005-04-08 11:51:47 得分 5
可以用枚举来定义你的权限组
列如:
public enum bizRight:int
{
read=1,
del=2
}
checkedlistbox绑定这个权限组
用户的权限根据checkedlistbox 中选中的权限相加求和
根据选中的用户记录不同,CheckedListBox做相应的改变(把这个用户的权限和解析,在checkedlistbox上有哪项就哪项打勾)Top
7 楼meixiaofeng(yesmsn)回复于 2005-04-08 11:52:55 得分 0
关注……Top
8 楼yitiaocheng_10(年华无眠)回复于 2005-04-08 11:53:10 得分 0
你可以到csdn上搜搜很多有关权限的帖子:)Top
9 楼yanlixin4csdn(闫力昕)回复于 2005-04-08 11:53:23 得分 2
csdn上以前有一篇文章写的非常好,就是有点复杂了。我们当前用的和你思路差不多,但用起来不太好,没有控制到读,写,修改等,也没有分出用户组,准备在下个版本就换了,建意你不要用这种方式Top
10 楼rachy(黑色雨)回复于 2005-04-08 12:00:15 得分 0
这种管理不好,最好做组权限Top
11 楼leo2003(【健者天行】谁伴我闯荡)回复于 2005-04-08 12:05:57 得分 0
大概讲一下偶的思路吧,偶们的系统都是基于这种模式实现的;
1.定义一个"业务功能"表,以树型组织系统内的所以功能,
例如:[采购]
|--[采购单],
|--[报表单]....
若要控件得更细:[采购]
|--[采购单]--添加,
|--[报表单]--删除....
2.定义用户表:记录用户信息,用户可以属于1个角色,也可以属于多个角色(类似于windows的权限).
用户不直接关联"业务功能"表;
3.定义角色表:记录角色信息,角色关联"业务功能"表,权限信息仅赋给角色
4.定义UserInRole表,用于关联 "用户"表 与 "角色"表,一个用户可以属于多个角色,一个角色可以拥有多个用户;一个用户可以属于多个角色时注意这时用户的权限是多个角色权限的叠加。
希望对你有帮助
Top
12 楼hbhdlzq(天高云淡)回复于 2005-04-08 12:07:04 得分 0
什么文章啊,我学习一下。Top
13 楼hbhdlzq(天高云淡)回复于 2005-04-08 15:57:21 得分 0
继续顶,我还是找不到头绪啊。思路 不清啊Top
14 楼yitiaocheng_10(年华无眠)回复于 2005-04-08 17:58:35 得分 0
在数据库中建立一个表
loginName bizRights
loginName为用户的名称
bizRights为权限和
public enum bizRight:int
{
read=1,
del=2,
gfgfd=4
}
在管理员修改用户的权限后,遍利checkedlistbox 然后跟枚举比较读出相应的值相加存到数据库中
实现根据选中的用户记录不同,CheckedListBox做相应的改变
先从数据库中读出该用户的权限和
然后解析,比如如果csdn用户的权限在前面设定为read和del,在数据库中存的是3
然后你可以判断 3&1是否是大于0这样来判断出他有什么权限
然后可以写个函数来用来返回该用户的权限组,用来绑定到checkedlistbox上
要下班了哈,写的还是不很详细..........Top
15 楼skytear()回复于 2005-04-08 18:26:33 得分 3
http://community.csdn.net/Expert/topic/3243/3243737.xml?temp=.5094568
这篇文章不错Top





