高分求c# winform 操作员权限设置的代码例子
如题。管理员给操作员分配权限,如果给了他某项功能的权限,改操作员打开软件后才有此功能,否则按钮为灰色.在线等
[解决办法]
有很多做法的。
我建了3个表:Privilege表中存放各个功能模块;Role表中存放用户及用户对应的角色;RolePrivilege表中存放角色对应的权限。
在用户登陆时,用静态变量CurrentUser保存该用户对象。这样在进到主界面时可根据用户权限来显示菜单:
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
[解决办法]