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 """
############### 权限组件 ################
############### 权限组件 ################
如果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项目-权限组件的更多相关文章
- python 全栈开发,Day107(CRM初始,权限组件之权限控制,权限系统表设计)
一.CRM初始 CRM,客户关系管理系统(Customer Relationship Management).企业用CRM技术来管理与客户之间的关系,以求提升企业成功的管理方式,其目的是协助企业管理销 ...
- day28 CRM万能权限组件开发 && 主机管理-堡垒机
1,CRM项目实战-万能权限组件开发参考博客:http://www.cnblogs.com/alex3714/articles/6661911.html 参考代码:https://github.com ...
- crm项目-stark组件分析
############### stark组件 ################ """ 这个stark组件是非常神奇的 1,独立的一个组件 2,没有mod ...
- day 71 crm(8) 权限组件的设置,以及权限组件的应用
---恢复内容开始--- 前情提要: strak 组件是增删改查组件 , 生活中,需求权限组件, 不足: 1,前后端不分离, 2, 空url也会刷新界面,造成资源浪费 3,如果角色忘记设置权 ...
- crm项目-stark组件
############### admin基本认识和常用的定制功能 ############### stark组件 对admin的基本认识 1,就是一个app,嵌入到了django里面,你可以 ...
- CRM项目之RBAC权限组件-day26
写在前面 上课第26天,打卡: 世间安得双全法 不负如来不负卿 s17day26 CRM项目 项目概要:XX公司CRM - 权限管理,公共组件,app ***** - 熟悉增删改查,Low *** - ...
- Django - 权限分配、权限组件与CRM整合
一.权限分配 需求:为用户分配角色,为角色分配权限,如下图效果: 1.视图代码: from django.shortcuts import render from django.http import ...
- CRM第一篇:权限组件之权限控制
一.权限组件(1):一级菜单 二.权限组件(2):二级菜单 三.权限组件(3):默认选中非菜单(二级菜单) 四.权限组件(4):给动态菜单增加面包屑导航 五.权限组件(5):权限粒度控制到按钮 六.权 ...
- rbac权限组件整合到实际项目的全过程详述
rbac简介 项目的GitHub地址 欢迎Download&Fork&Star:https://github.com/Wanghongw/CombineRbac 另外,本文只简单介绍一 ...
随机推荐
- C++queue的使用
C++队列是一种容器适配器,提供了一种先进先出的数据结构. 队列(queue)模板类定义在<queue>头文件中 基本操作: 定义一个queue变量:queue<Type> q ...
- TensorFlow(一)
一.Hello World 1.只安装CPU版,TensorFlow1.14.0版本代码 # import tensorflow as tf import tensorflow.compat.v1 a ...
- 22. docker 数据持久化 Data Volume
1 . 使用场景 在docker 容器被删除的时候 希望数据不丢失 2 . Volume 的使用 * 注意 在 mysql 的 Dockerfile 内 定义了 VOLUME ["var/ ...
- java android环境变量配置
JAVA_HOME 用于jdk配置D:\Program Files\Java\jdk1.8.0_25 path %JAVA_HOME%\bin;;%JAVA_HOME%\jre\bin;;D:\P ...
- 永久使用mybase
(1)关闭程序 (2)找到程序的安装路径:D:\mybase\mybase\nyfedit7pro (3)打开mybase.ini 文件,7以下版本文件名称为nyfedit.ini
- 计蒜客 数独(DFS)
蒜头君今天突然开始还念童年了,想回忆回忆童年.他记得自己小时候,有一个很火的游戏叫做数独.便开始来了一局紧张而又刺激的高阶数独.蒜头君做完发现没有正解,不知道对不对? 不知道聪明的你能否给出一个标准答 ...
- Asp.Net MVC主项目访问不到分离项目控制器的解决方案
我在portal主项目外新建一个分离项目,控制器和Model都写在分离项目中,视图层写在portal中. 我更改了命名空间,引用了Dll,还是不能访问到控制器. 找到问题: 最后我发现是主项目port ...
- 试验指标|试验单位|均方|随机模型|固定模型|字母标记法|LSR|q检验|LSD|重复值|弥补缺失数据|可加性|平方根转换|对数转换|反正弦转化
第五章 方差分析 试验指标是什么? 就是统计的测量值,eg:身高体重 试验单位( experimental unit )是什么? 实验载体,比如一只小白鼠 均方是什么? 就是方差 随机模型的τ有何特点 ...
- classification.py
# -*- coding: utf-8 -*-"""View more, visit my tutorial page: https://morvanzhou.githu ...
- JS 特效三大系列总结
一. offset系列 1. offset系列的5个属性 1. offsetLeft : 用于获取元素到最近的定位父盒子的左侧距离 * 计算方式: 当前元素的左边框的左侧到定位父盒子的左边框右侧 * ...