命名空间:sharClass.UserPermission
功能:用户权限类,可为类或者Form提供用户权限检查机制
功能详细说明:
用户权限类,可为类或者Form提供用户权限检查机制。
常用函数列表:
/// <summary> /// 权限改变通知 /// </summary> public event Action<userLeveEnum> levelUpdateEvent; /// <summary> /// 用户权限的枚举,默认是三级权限 /// </summary> public enum UserLeveEnum { //注意枚举的顺序代表着权限由大到小的排列,不能改变位置! 超级管理员 = 0, 管理员 = 1, 操作员 = 2 } /// <summary> /// 用户信息,包括:userLevel,isActive,password /// </summary> public struct userinfo /// <summary> /// 取本类唯一实例 /// </summary> /// <returns></returns> public static UserPermission getInstance() /// <summary> /// 取用户列表 /// </summary> /// <returns></returns> public List<string> getUserList() /// <summary> /// 验证用户密码是否正确 /// </summary> /// <param name="uname"></param> public bool verifyUserPWD(string uname, string pwd) /// <summary> /// 取得用户密, 只有当前活动用户为顶级用户才可以操作。如果取不到则返回空串。 /// <para>注意:无法查询顶级用户自己的密码!</para> /// </summary> /// <param name="uname">要查询的用户名</param> /// <returns></returns> public string getUserPWD(string uname) /// <summary> /// 活动用户是超级管理员吗 /// </summary> public bool isSuperUser /// <summary> /// 活动用户是管理员吗 /// </summary> public bool isAdministrator /// <summary> /// 活动用户是操作员吗 /// </summary> public bool isOP /// <summary> /// 返回活动用户的名字。没有则返回空串,这个函数还可以用来检查当前有没有活动用户。 /// </summary> /// <returns></returns> public string getActiveUserName() /// <summary> /// 返回活动用户的权限字符串,没有则返回空串。 /// </summary> /// <returns></returns> public string getActiveUserLevel() /// <summary> /// 返回活动用户的枚举串 /// <para>异常: ArgumentException</para> /// </summary> /// <returns></returns> public UserLeveEnum getActiveUserEnum() /// <summary> /// 返回活动用户的密码 /// </summary> /// <returns></returns> public string getActiveUserPWD() /// <summary> /// 删除用户。传入要删除的用户名 /// <para>异常:Exception</para> /// <para> 只有活动用户权限大于要删除用户才可以删除。</para> /// <para> 这意味着,同级别的用户不能互相删除 </para> /// <para>异常:ArgumentException</para> /// </summary> /// <param name="uname">要删除的用户名</param> public void delUser(string uname) /// <summary> /// 更新用户信息 /// <para>异常:Exception</para> /// <para>更新规则:</para> /// <para>活动用户如果权限大于要操作信息的用户,则可以指定用户的权限和密码</para> /// <para>活动用户如果和要操作信息的用户级别相同或者低些,则只允许修改活动用户自己的密码,但是不能向上修改权限,只能向下修改权限</para> /// </summary> /// <param name="uname"></param> /// <param name="pwd"></param> /// <param name="level"></param> public void updateUserInfo(string uname, string newPwd, string oldPwd, string level) /// <summary> /// 检查两个权限的大小。传入权限串名字。 返回值-1,0,1,分别表示a小于B,a等于b,a大于b /// </summary> /// <param name="level1"></param> /// <param name="level2"></param> /// <returns></returns> public int checkTwoLevel(string levelA, string levelB) /// <summary> /// 检查两个用户的权限。如果user1等于user2返回0,如果user1大于user2返回1,如果user1小于user2返回-1 /// <para>异常 Exception</para> /// </summary> /// <param name="username1">用户名1</param> /// <param name="username2">用户名2</param> /// <returns></returns> public int checkTwoUserLevel(string username1, string username2) /// <summary> /// 指定用户是否在用户字典中存在 /// </summary> /// <param name="name"></param> /// <returns></returns> public bool userIsExits(string name) /// <summary> /// 这个用户能创建什么权限的用户? 返回的是权限串列表 /// <para>异常:Exception</para> /// </summary> /// <param name="uname"></param> /// <returns></returns> public List<string> userCanCreateObj(string uname) /// <summary> /// 取活动用户的权限密码 /// <para>异常:ArgumentException</para> /// </summary> /// <returns></returns> public Tuple<string, string, string> getActiveUserInfo() /// <summary> /// 取用户及其权限。取到的结果为: 用户名,权限 /// </summary> /// <returns></returns> public List<string> getUserLevelList() /// <summary> /// 取用户权限 /// <para>异常:ArgumentException</para> /// </summary> /// <param name="userName"></param> /// <returns></returns> public UserPermission.UserLeveEnum getUserLevel(string userName) /// <summary> /// 添加用户及其权限 /// <para>异常:Exception</para> /// </summary> /// <param name="userName"></param> /// <param name="level"></param> public void addUser(string userName, UserLeveEnum level, string pwd) /// <summary> /// 更新用户的权限 /// <para>异常:Exception</para> /// </summary> /// <param name="userName"></param> /// <param name="level"></param> public void setUserLevel(string userName, UserLeveEnum level) /// <summary> /// 设定活动用户 /// </summary> /// <param name="userName"></param> public void setActiveUser(string userName)
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!
本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:


