命名空间: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,转载请注明出处!讨论可扫码加群:



少有人走的路



















