一、引入权限组件

引入权限组件 rbac

  settings: 'rbac.apps.RbacConfig',
  中间件: 'rbac.service.rbac.ValidPermission',

员工表UserInfo和rbac.User表关联 一对一

  UserInfo中的用户名和密码也可删了,只留rbac.User中的用户名和密码。
  user = models.OneToOneField("rbac.User", null=True)

  makemigrations
  migrate

二、分配权限

权限组

分配权限

角色分配

用户分配

rbac/stark.py

# -*- coding:utf-8 -*-

from stark.service.stark import site,ModelStark

from .models import *

class UserConfig(ModelStark):
list_display = ["name",'roles'] site.register(User,UserConfig) class RoleConfig(ModelStark):
list_display = ["title","permission"] site.register(Role,RoleConfig) class PermissionConfig(ModelStark):
list_display = ["id","title","url","group","action"] site.register(Permission, PermissionConfig)
site.register(PermissionGroup)

三、登录、引入中间件

不同的用户具有不同的权限

知识点

登录

 url(r'^login/', views.login),

-------------------------------------

from django.shortcuts import render,HttpResponse

# Create your views here.
from rbac.models import User
from rbac.service.permission import initial_session def login(request):
if request.method == "POST":
user = request.POST.get("user")
pwd = request.POST.get("pwd") user = User.objects.filter(name=user,pwd=pwd).first()
if user:
request.session["user_id"] = user.pk
# 注册权限到session中
initial_session(user,request) return HttpResponse("登录成功") return render(request,'login.html',locals())

引入中间件

 'rbac.service.rbac.ValidPermission',

模板继承

例如:

{% extends 'base.html' %}

{% block con %}
<h4>我的客户</h4>
<ul>
{% for customer_distrubute in customer_distrubute_list %}
<li>
{{ customer_distrubute.customer }}
-----{{ customer_distrubute.date|date:'Y-m-d' }}
-----{{ customer_distrubute.get_status_display }}
</li>
{% endfor %} </ul> {% endblock %}

四、code

原始版

  https://github.com/alice-bj/crm_pro

CRM - 权限的更多相关文章

  1. CRM权限管理

    CRM权限管理 一.概念 权限管理就是管理用户对于资源的操作.本 CRM 系统的权限(也称作资源)是基于角色操作权限来实现的,即RBAC(Role-Based Access Control,基于角色的 ...

  2. Django项目:CRM(客户关系管理系统)--84--74PerfectCRM实现CRM权限和权限组限制访问URL

    #models.py # ————————01PerfectCRM基本配置ADMIN———————— from django.db import models # Create your models ...

  3. Sage Crm 权限原理分析

    文字是11年写的,贴出来共享一下,先来一张表结构图: 一.区域.表名:[territories] 1.我们先来看看区域表的结构. 从图中前面都是不能为空的字段,都是很重要的.来介绍一下这些字段: Te ...

  4. Dynamics CRM 权限整理二

    接上篇http://blog.csdn.net/vic0228/article/details/50510605,继续列举CRM相关权限 prvReadBusinessUnit privilege(I ...

  5. CRM——权限

    一.引入权限组件 1.引入权限组件rbac 拷贝之前写好的rbac应用到CRM_demo项目下. 在settings中注册rbac的app: INSTALLED_APPS = [ 'django.co ...

  6. CRM 权限与分派不一样问题

    问题描述: 1 userA用户 为 区域经理; 2  区域经理(角色) 为 分派给userA的安全角色; 3  区域经理(角色) 设置了对实体 客户 的读权限为 业务部门级; 按正常来说userA 应 ...

  7. python运维开发(二十四)----crm权限管理系统

    内容目录: 数据库设计 easyUI的使用 数据库设计 权限表Perssion 角色表Role 权限和角色关系表RoleToPermission 用户表UserInfo 用户和角色关系表UserInf ...

  8. crm 权限设计

    先在项目中创建  app rbac的models.py from django.db import models class Permission(models.Model): "" ...

  9. CRM 权限设置

    表结构的设计 权限表 url -url地址的正则表达式 ^$ title - 标题 角色表 name - 角色名称 permissions 多对多关联权限表 (权限和角色的关系表) 用户表 name ...

  10. CRM 权限设置 ss

    表结构的设计 权限表 url -url地址的正则表达式 ^$ title - 标题 角色表 name - 角色名称 permissions 多对多关联权限表 (权限和角色的关系表) 用户表 name ...

随机推荐

  1. android中文api(79)——Gallery

    前言 本章内容是 android.widget.Gallery,版本为Android 2.3 r1,翻译来自"henly.zhang",欢迎大家访问他的博客:http://www. ...

  2. dirname(__FILE__) 介绍

    简单地说:      __FILE__     返回当前 路径+文件名      dirname(__FILE__) 返回当前文件路径的 路径部分 (后面没有“\”号)      dirname(di ...

  3. svn merge和branch分析

    [转载] 使用svn几年了,一直对分支和合并敬而远之,一来是因为分支的管理不该我操心,二来即使涉及到分支的管理,也不敢贸然使用合并功能,生怕合并出了问题对团队造成不良影响,最主要的原因是,自己对分支的 ...

  4. Unity的加载路径

    1.Resources 路径 只读 不能动态的修改 存放内容 预制体(prefabs) - 不容易变化的预制体 prefabs打包的时候 会自动过滤不需要的资源 有利于减小资源大小 主线程加载 Res ...

  5. Google的基础设施安全

        Google基础设施在设计时就确保了信息在整个生命周期内都是安全的.这里所说的安全涉及多个层面,包括服务部署.数据存储.进程与进程及外部系统之间的通信,以及运维层面.     物理层      ...

  6. linux--GCC简单用法

    gcc是linux下最常用的一款c编译器,对应于CPP 有相应的g++工具,debug有gdb,只是还不会用. 个人感觉gcc确实是个好东西,完全可以直接在gedit下编程然后写个shell脚本用gc ...

  7. C语言之顺序结构

    该章内容:这章我们学习三大结构之一:顺序结构,它是程序从上往下顺序执行,是程序运行最简单的方式.printf和scanf函数使用和特例是必考知识.本章是考试的重点章节. 学习方法:从简单的顺序结构题目 ...

  8. [SQL]躺着也中枪的datetime类型

    写在前面 本来这个东西,我是不想在这里总结的,今天有初学者的朋友问我了,那就不得不说说了,你肯定也踩过这样的坑,没遇到,说明你运气好,编码习惯好.那还是言归正传吧.避免你中枪,还是扫一眼这篇文章吧. ...

  9. JS 添加js节点

    function AddScriptNode(src) { var N = document.createElement("script"); N.setAttribute(&qu ...

  10. poj_1236 强连通分支

    题目大意 有N个学校,这些学校之间用一些单向边连接,若学校A连接到学校B(B不一定连接到A),那么给学校A发一套软件,则学校B也可以获得.现给出学校之间的连接关系,求出至少给几个学校分发软件,才能使得 ...