在很多系统中都会遇到分组权限管理的问题 管理起来也比较复杂 不过在asp.net2.0中已经提供了自动实现的功能
使用到的是MemberShip类和MemberShipuser这两个类 可以很方便的对用户进行管理. 但毕竟是系统自带的功能,很多时候使用起来并不是那么方便.我们可以自己实现分组权限管理.这就涉及到了数据库的设计问题了
数据库一般分为了三个表
1 功能表 f_id 功能ID号 f_name 功能名称(添加 删除 修改) f_description(描述)
2 用户组表 group_id 组ID号 group_name group_powerID(功能表ID的集合)如添加.删除.修改权限为(1,2,3)
3 用户表 user_id user_name user_pwd user_groupId(用户组表的主键约束)
登录系统时根据user_groupId得到用户所在的组 根据组可得到对应用户操作权限的功能
我们可以将得到的功能存储到Session中 页面显示可根据用户的权限设置隐藏或显示
比如说用户的一些操作没被授权 我们就可以根据Session中的权限去判断 将相应的版块设置为隐藏即可.
if(Session["Power"]=="All"){}
else
{Div.InnerHtml="<font color='red'>您无权访问该页面....</font>"}