【分布式系统框架教程】-用户管理权限关系表设计
分布式马上就要升级了,请大家多多捧场。
下面我来说说本次分布式升级的功能,本次主要是新增了用户权限管理功能。下面我来介绍一下关于权限管理的数据表的设计。由于时间等各方面的原因,本次的权限可能并不完善,或者存在一些问题,在最后的版本中我们会步步完善和更新的。
关于权限,就是后台管理的权限,通常就是用户表、角色表、权限表等,本次分布式设计的表也很简单,在分布式框架中,我们的model层里面的实体类和数据表之间都是一一对应的关系,下面我就贴出model层对应权限的几个类吧。
用户:这里还是之前的登陆用户类
[C#] 纯文本查看 复制代码 /// <summary>
/// 登录用户
/// </summary>
public class LoginUserInfo : ModelBase
{
/// <summary>
/// 用户ID
/// </summary>
public string ID { get; set; }
/// <summary>
/// 登录用户名
/// </summary>
public string UserName { get; set; }
/// <summary>
/// 登录密码
/// </summary>
public string UserPwd { get; set; }
/// <summary>
/// 用户状态
/// </summary>
public UserStatus UserStatus { get; set; }
/// <summary>
/// 注册IP
/// </summary>
public string LoginIp { get; set; }
/// <summary>
/// 登录类型
/// </summary>
public LoginType LoginType { get; set; }
/// <summary>
///
/// </summary>
public string RegisterBy { get; set; }
}
角色:
[C#] 纯文本查看 复制代码 //角色
public class RoleInfo
{
/// <summary>
/// ID
/// </summary>
public int ID { get; set; }
/// <summary>
/// 角色名称
/// </summary>
public string RoleName { get; set; }
}
有了用户和角色,当然需要一个表来存它们之间的关系,用户和角色是一种多对多的关系,也就是说一个用户可以拥有多个角色,而一个角色也可以分配给多个用户。
用户角色关系:
[C#] 纯文本查看 复制代码 //UserRole
public class UserRoleInfo
{
/// <summary>
/// 用户ID
/// </summary>
public string UserID { get; set; }
/// <summary>
/// 角色ID
/// </summary>
public int RoleID { get; set; }
}
功能(也就是权限)
[C#] 纯文本查看 复制代码 //功能
public class FunctionInfo
{
/// <summary>
/// ID
/// </summary>
public int ID { get; set; }
/// <summary>
/// 功能名称
/// </summary>
public string FunctionName { get; set; }
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnable { get; set; }
/// <summary>
/// 父类id
/// </summary>
public int ParentId { get; set; }
}
当然了,角色对应的就是权限了,一个角色可以分配权限,所以就需要一张表来存角色权限之间的关系了。这个角色权限关系表和用户角色关系表一样,都很简单,只是存了对应的id而已。
角色权限关系(也可以说是角色功能关系)
[C#] 纯文本查看 复制代码 //RoleFunction
public class RoleFunctionInfo
{
/// <summary>
/// 角色ID
/// </summary>
public int RoleID { get; set; }
/// <summary>
/// 功能ID
/// </summary>
public int FunctionID { get; set; }
}
|