读书人

高分求c# winform 操纵员权限设置的代

发布时间: 2011-12-12 22:59:56 作者: rapoo

高分求c# winform 操作员权限设置的代码例子
如题。管理员给操作员分配权限,如果给了他某项功能的权限,改操作员打开软件后才有此功能,否则按钮为灰色.在线等

[解决办法]
有很多做法的。
我建了3个表:Privilege表中存放各个功能模块;Role表中存放用户及用户对应的角色;RolePrivilege表中存放角色对应的权限。
在用户登陆时,用静态变量CurrentUser保存该用户对象。这样在进到主界面时可根据用户权限来显示菜单:

C# code
private void CheckUserPrivilege(){    PrivilegeHandler mHandler = new PrivilegeHandler();    List<W_UserPrivilegeInfo>  mList= null;    mList = mHandler.GetByConditons("UType='" + CurrentUser.Instance.currentuser.UType + "'");    if (mList != null)    {        for (int i = 0; i < mList.Count; i++)        {            W_UserPrivilegeInfo mObject = mList[i];            TreeNode mNode = trvMain.Nodes[mObject.ModelName].Nodes[mObject.MenuName].Nodes[mObject.MenuNodName];            mNode.Tag = mObject.MenuNodTag;            mNode.ForeColor = Color.Black;        }    }}
[解决办法]
最清晰最方便方法就是操作数据库了 在数据库里加一个字断 就是判断权限问题 给权限的时候从数据库里读~~ 比如1表示管理员 2表示员工的话 给公权限的时候就通过SQL语句操作一下数据库 修改那个字断的值 在登陆的时候从数据库里读值 设置其中按钮或其它控件的Enabled属性或 Visible属性 来控制它的权限 也可以用哈稀表来完成
[解决办法]
管理员 权限值:0,所有控件enable=true

操作员 权限值:1,部分控件enable=false
[解决办法]
将每一个权限设定为一个权限标识码并放在一个字段中,
例如添加功能的权限为A,在程序运行的时候只要判断该字段是否包含A就可以知道其是否包含该权限了,有就设置button的enable为true,否则为false
[解决办法]
探讨
我想知道数据库是怎么设计的?

[解决办法]
同意楼上说法!

读书人网 >C#

热点推荐