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

"""

表结构设计:
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 """

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

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

如果redis的k4有一千万条数据,请打印所有的数据?复制代码# 方式一:    #result =conn.hgetall('k4')    #print(result)    # 不可取 从redis取到数据之后,服务器内存无法承受,爆栈        #ret=conn.hscan_iter('k4',count=100)    #一次取100个数据,循环完了后再去取    # ret 是一个生成器    #for item in ret:        #print(item)

crm项目-权限组件的更多相关文章

  1. python 全栈开发,Day107(CRM初始,权限组件之权限控制,权限系统表设计)

    一.CRM初始 CRM,客户关系管理系统(Customer Relationship Management).企业用CRM技术来管理与客户之间的关系,以求提升企业成功的管理方式,其目的是协助企业管理销 ...

  2. day28 CRM万能权限组件开发 && 主机管理-堡垒机

    1,CRM项目实战-万能权限组件开发参考博客:http://www.cnblogs.com/alex3714/articles/6661911.html 参考代码:https://github.com ...

  3. crm项目-stark组件分析

    ###############    stark组件     ################ """ 这个stark组件是非常神奇的 1,独立的一个组件 2,没有mod ...

  4. day 71 crm(8) 权限组件的设置,以及权限组件的应用

    ---恢复内容开始--- 前情提要: strak 组件是增删改查组件 , 生活中,需求权限组件,  不足: 1,前后端不分离,   2, 空url也会刷新界面,造成资源浪费   3,如果角色忘记设置权 ...

  5. crm项目-stark组件

    ###############  admin基本认识和常用的定制功能    ############### stark组件 对admin的基本认识 1,就是一个app,嵌入到了django里面,你可以 ...

  6. CRM项目之RBAC权限组件-day26

    写在前面 上课第26天,打卡: 世间安得双全法 不负如来不负卿 s17day26 CRM项目 项目概要:XX公司CRM - 权限管理,公共组件,app ***** - 熟悉增删改查,Low *** - ...

  7. Django - 权限分配、权限组件与CRM整合

    一.权限分配 需求:为用户分配角色,为角色分配权限,如下图效果: 1.视图代码: from django.shortcuts import render from django.http import ...

  8. CRM第一篇:权限组件之权限控制

    一.权限组件(1):一级菜单 二.权限组件(2):二级菜单 三.权限组件(3):默认选中非菜单(二级菜单) 四.权限组件(4):给动态菜单增加面包屑导航 五.权限组件(5):权限粒度控制到按钮 六.权 ...

  9. rbac权限组件整合到实际项目的全过程详述

    rbac简介 项目的GitHub地址 欢迎Download&Fork&Star:https://github.com/Wanghongw/CombineRbac 另外,本文只简单介绍一 ...

随机推荐

  1. C++queue的使用

    C++队列是一种容器适配器,提供了一种先进先出的数据结构. 队列(queue)模板类定义在<queue>头文件中 基本操作: 定义一个queue变量:queue<Type> q ...

  2. TensorFlow(一)

    一.Hello World 1.只安装CPU版,TensorFlow1.14.0版本代码 # import tensorflow as tf import tensorflow.compat.v1 a ...

  3. 22. docker 数据持久化 Data Volume

    1 . 使用场景 在docker 容器被删除的时候  希望数据不丢失 2 . Volume 的使用 * 注意 在 mysql 的 Dockerfile 内 定义了 VOLUME ["var/ ...

  4. java android环境变量配置

    JAVA_HOME   用于jdk配置D:\Program Files\Java\jdk1.8.0_25 path %JAVA_HOME%\bin;;%JAVA_HOME%\jre\bin;;D:\P ...

  5. 永久使用mybase

    (1)关闭程序 (2)找到程序的安装路径:D:\mybase\mybase\nyfedit7pro (3)打开mybase.ini 文件,7以下版本文件名称为nyfedit.ini

  6. 计蒜客 数独(DFS)

    蒜头君今天突然开始还念童年了,想回忆回忆童年.他记得自己小时候,有一个很火的游戏叫做数独.便开始来了一局紧张而又刺激的高阶数独.蒜头君做完发现没有正解,不知道对不对? 不知道聪明的你能否给出一个标准答 ...

  7. Asp.Net MVC主项目访问不到分离项目控制器的解决方案

    我在portal主项目外新建一个分离项目,控制器和Model都写在分离项目中,视图层写在portal中. 我更改了命名空间,引用了Dll,还是不能访问到控制器. 找到问题: 最后我发现是主项目port ...

  8. 试验指标|试验单位|均方|随机模型|固定模型|字母标记法|LSR|q检验|LSD|重复值|弥补缺失数据|可加性|平方根转换|对数转换|反正弦转化

    第五章 方差分析 试验指标是什么? 就是统计的测量值,eg:身高体重 试验单位( experimental unit )是什么? 实验载体,比如一只小白鼠 均方是什么? 就是方差 随机模型的τ有何特点 ...

  9. classification.py

    # -*- coding: utf-8 -*-"""View more, visit my tutorial page: https://morvanzhou.githu ...

  10. JS 特效三大系列总结

    一. offset系列 1. offset系列的5个属性 1. offsetLeft : 用于获取元素到最近的定位父盒子的左侧距离 * 计算方式: 当前元素的左边框的左侧到定位父盒子的左边框右侧 * ...