【分布式系统框架教程】-应用程序启动时加载角色和权限关系静态对象
导读部分
用户登陆后的权限处理问题可能是大家比较关心的问题,这里呢,我用到了了一个类,用这个类将所有角色以及所有角色对应的权限关系在程序启动时就从数据库中提取过来并进行相应的处理后得到一个静态的存在内存里的RolesList集合,这个集合包含了所有角色,同时每个角色又存储了各自对应的权限。现贴出部分代码:
[C#] 纯文本查看 复制代码 /// <summary>
/// 角色对应权限实体关系集合处理类
/// </summary>
public class RoleFuncRelation
{
//程序启动时加载List集合
private static List<Roles> roleslist = new List<Roles>();
//Roles对象继承RoleInfo
public class Roles:RoleInfo
{
//一个角色对象对应的权限集合
public List<FunctionInfo> functions { get; set; }
}
}
其他的实现方法就不在这里公开了,大家可以看源码,我们可以看到这个list集合里存储的是Roles对象,同时这个Roles对象又有一个 List<FunctionInfo>的functions属性,就是通过这种结构在程序启动时就将所有的角色以及角色权限关系都提取出来,这样一来,用户登陆之后,我们就可以直接从这个类里面来提取这个角色权限关系静态集合对象,而避免了重复的每次判断权限都需要无限的访问数据库,可以说这种方式只需访问一次数据库,然后存放在内存中,在处理速度上也比每次都调用数据库快的多。
|