C\S结构下,我想对用户登录后进行权限控制,比如不同的人登陆后显示不同的菜单,对数据库的不同操作权限等等,我看看一些介绍,都提到了委托,我不会委托,请问代码怎么实现啊?顺便附上经理给我的三张表:
(1)、功能模块数据表 - Sys_Program
字段名 中文含义 数据类型 宽度 说明 关键字
SGUID varchar 50 是
SeqNo 记录顺序ID int 4 [例如:1,2,3,4…]
ID 模块ID varchar 50
Name 模块名称 varchar 50
Type 模块类型 varchar 50 [F(主菜单)][M(子菜单)]
Enable 可用状态 varchar 1 [0(不可用)、1(可用)]
ParentSGUID 上级模块SGUID varchar 50 [Sys_Program]
Sign 功能缩写 varchar 50 [例如:S、F、L、M]快捷键
Re 备注 varchar 200 (2)、权限组数据表 - Sys_Group
字段名 中文含义 数据类型 宽度 说明 关键字
SGUID 记录ID varchar 50 是
SeqNo 记录顺序ID int 4 [例如:1,2,3,4…]
ID 权限组ID varchar 50 [不可重复] [不可为空]
Name 权限组名称 varchar 50 [不可为空]
Re 备注 varchar 200 (3)、用户组权限数据表 - Sys_GroupPopedom
字段名 中文含义 数据类型 宽度 说明 关键字
SGUID 记录ID varchar 50 是
GroupSGUID 权限组SGUID varchar 50 [Sys_Group]
ProgSGUID 模块SGUID varchar 50 [Sys_Program]
run 运行权 int 4 [0(无)、1(有)]
ins 增加权 int 4 [0(无)、1(有)]
upd 修改权 int 4 [0(无)、1(有)]
del 删除权 int 4 [0(无)、1(有)]
pri 打印权 int 4 [0(无)、1(有)]
adu 审核权 int 4 [0(无)、1(有)]

解决方案 »

  1.   

    可以弄一个权限的枚举,登录方法中判断用户的权限,在初始化窗口的时候设置控件的Enable属性,不知道行不行。
    等高手。
      

  2.   

    //登记产品
                if (this.Security.GetPrivilege(ProductPrivilege.InputProduct) == PrivilegeArea.全局)//这里的Security是获取当前用户的权限和信息保存在一个dataset里面,再调用其中的GetPrivilege判断是否有该权限
                {
                    iconNew.Visible = true;
                    toolStripButton3.Visible = false ;
                    menuEdit.Visible = true;
                    TreeNode node1 = new TreeNode();
                    node1.Text = "新添加的产品列表";
                    node1.ToolTipText = "新添加的产品列表";
                    node1.Name = "onSaleProduct";
                    SetLeftMenuDisplay(node1,DisplaySuppliers());
                }