• crm项目权限组件


    ###############    表结构分析     ################

    """
    表结构设计:
    1,四张表
    用户表,userinfo,这个表本身不会被创建,而是用来被真正的用户表做继承,
    角色表,role,
    菜单表,menu,
    权限表,permission,

    2,关联关系 用户表和角色表多对多关联, 角色表和权限表多对多关联, 权限表和菜单表一对多关联,
    """

    ###############    提供的操作     ################ 

    """
    
    提供的操作
    1,角色添加,只是菜单添加,
    
    
    2,菜单添加,
    添加一级菜单,这是在菜单表中保存的
    添加二级菜单,如果权限表关联了菜单表,就是菜单,没有关联就不是菜单,
    添加菜单权限,对于非二级菜单的需要关联是二级菜单的id,用来展开权限,这个设计可以把权限控制到按钮级别,
    这种是在建立菜单和权限的关系,
    
    
    3,分配权限,可以为客户分配角色,为角色分配权限,
    这种其实就是建立员工和角色,角色和菜单之间的关联关系,都是多对多的,
    这个分配的角色就是角色页面建立的,
    这个分配权限就是菜单页面创建的,
    另外用户可以绑定角色,
    
    
    """

      

    ###############    权限初始化     ################

    """
    
    权限初始化
    1,在登陆的时候,把菜单和权限拿出来,然后放入session里面去,
    
    2,这一步涉及到了django session的操作,
    原理就是客户端保存cookie  格式是  sessionid :sessionkey
    sessionkey是自动生成的
    sessionkkey会保持在服务器端,然后对应的有sessiondata,
    这种数据在服务端,会比较安全,
    
    """

      

    ###############    权限组件     ################

    """
    
    权限校验
    1,使用中间件来校验权限,这样每一个进来的url都会经过中间件
    
    2,逻辑就是获取当前访问的url,然后取出初始化中保存到session中的url,看看是否匹配到,匹配到就是有权限的,
    
    3,settings.VALID_URL_LIST,
    白名单中的URL无需权限验证即可访问
    
    4,settings.NO_PERMISSION_LIST
    需要登录,但无需权限校验,
    
    """

    ###############    权限组件     ################

    """
    权限初始化
    
    在登陆的时候做权限初始化,这个权限初始化做了什么?
    需要传递两个参数,user和request,user是当前用户,request是请求相关的所有信息
    user是一个对象,user = models.UserInfo.objects.filter(name=user, password=pwd).first()
    做了两个事情: 1,根据这个用户获取到他所有的权限,并且放入session,settings.PERMISSION_SESSION_KEY 2,把菜单和权限,放入session,settings.MENU_SESSION_KEY
    """

    ###############    权限组件     ################

     

  • 相关阅读:
    虚拟机LUN扩大后,重新分区
    rm: cannot remove `/home/cn0000/log/formlog.20140417': Read-only file system
    sybase 备份和恢复
    全表扫描计算成本
    标量子查询 子查询执行次数计算公式
    left join 关联条件位置
    动态SQL使用绑定变量
    如何在SQLServer中处理每天四亿三千万记录的
    移动端UI一致性解决方案
    工业互联网中MES系统的重要性
  • 原文地址:https://www.cnblogs.com/andy0816/p/12157023.html
Copyright © 2020-2023  润新知