01-crm介绍

02-权限系统介绍

03-第一版表结构设计

04-第二版表结构设计

05-orm中创建表结构

06-销售管理系统业务

07-销售管理系统权限信息录入

08-快速实现简单的权限控制的设计思路

09-快速实现简单权限之初始化用户权限

10-快速实现权限控制之权限校验

01-crm介绍

1、CRM系统初识;

2、CRM三大模块初识(权限、stark组、CRM);

02-权限系统介绍

1、权限开发的重要性;

2、什么是权限?URL==权限;

3、人和URL的关系;

4、表结构的版本迭代;

03-第一版表结构设计

1、权限表;

2、用户表;

04-第二版表结构设计

1、基于角色的权限控制RBAC;

05-orm中创建表结构

1、大目标-CRM系统;

  • 权限
  • Startk组件
  • CRM业务

操作步骤:

1、创建Django project,luffy_permission

2、创建两个app应用;rbac(基于角色的权限组件控制)、web(销售管理系统);

3、rbac应用中,将权限相关的表编写到此models.py中;

from django.db import models

# Create your models here.
class Permission(models.Model):
"""
权限表;
"""
title = models.CharField(verbose_name='标题', max_length=32)
url = models.CharField(verbose_name='含正则的URL', max_length=128) def __str__(self):
return self.title class Role(models.Model):
"""
角色表;
"""
title = models.CharField(verbose_name='角色名称', max_length=32)
permissions = models.ManyToManyField(verbose_name='拥有所有的权限', to='Permission', blank=True) def __str__(self):
return self.title class UserInfo(models.Model):
"""
用户表;
"""
name = models.CharField(verbose_name='用户名', max_length=32)
password = models.CharField(verbose_name='密码', max_length=64)
email = models.CharField(verbose_name='邮箱', max_length=32)
roles = models.ManyToManyField(verbose_name='拥有所有的角色', to='Role', blank=True) def __str__(self):
return self.name

4、web应用中,将销售管理系统表写到此app的models.py中;

5、将5张表-权限、角色、权限角色关系表、用户、用户角色关系表进行创建;

06-销售管理系统业务

1、博文参考;https://www.cnblogs.com/wupeiqi/articles/9178982.html

2、页面展示;

07-销售管理系统权限信息录入

1、两个app的整合;

销售管理系统中的URL:

2、权限和角色信息的分配;

08-快速实现简单的权限控制的设计思路

1、快速完成一个基本的权限控制;

2、数据库进行多表查询,效率非常低;

09-快速实现简单权限之初始化用户权限

10-快速实现权限控制之权限校验

最新文章

  1. 带隙基准(Bandgap,BG)
  2. C# 获取指定接口的所有实现类
  3. 【JS】两种计时器/定时器
  4. js 中 continue 与 break 熟练使用
  5. 2016 -1 - 3 省市联动demo
  6. magento使用google analytics
  7. SVN在团队项目中的使用技巧:[2]Tag操作
  8. WPF NotifyIcon and Taskbar 任务栏示例
  9. centos软件环境
  10. HTML5要点(二)
  11. 关于OpenXml SpreadSheet列宽根据内容的Auto-suitability
  12. LeetCode 650 - 2 Keys Keyboard
  13. 图像处理------泛洪填充算法(Flood Fill Algorithm) 油漆桶功能
  14. TensorFlow从1到2(四)时尚单品识别和保存、恢复训练数据
  15. kettle基于时间戳增量更新
  16. How to show color in CSS
  17. rpm 包的安装、卸载、升级、查询、验证
  18. jdk8新特性(详解)
  19. NUC970 U-Boot 使用說明
  20. java多线程(六)

热门文章

  1. if not
  2. 利用python进行数据分析——(一)库的学习
  3. CUDA 深入浅出谈[转]
  4. python调用对象属性出错:AttributeError: 'function' object has no attribute '_name_'
  5. JQuery给一个元素绑定两次点击事件(第二次点击事件)
  6. 《Linux 学习》01---redis安装, 并使用Redis Desktop Manager 连接
  7. Cannot set HTTP gem source: “source https://rubygems.org not present in cache”
  8. 走进MySQL
  9. 3. HTML中的容器标签
  10. mysql8.0新增用户及密码加密规则修改