博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django 中使用权限认证
阅读量:4648 次
发布时间:2019-06-09

本文共 1950 字,大约阅读时间需要 6 分钟。

权限认证

权限概念

"""在实际开发中,项目中都有后台运营站点,运营站点里面会存在多个管理员,那么不同的管理员会具备不同的任务和能力,那么要实现这样的管理员功能,那么就需要了解权限机制了.在开发中, 一般现在流行的权限机制有2种: RBAC[基于角色(分组)的权限认证]和Auth认证[授权认证机制]我们使用的django框架内部集成的Auth模块实际上就是基于RBAC开发出来的权限认证机制.在开发中,实现RBAC权限机制,一般有2种不同的设计方式:分别是3表和5表基于角色的权限访问控制(Role-Based Access Control)"""
xamdin可视化添加测试权限的用户
"""1.登录xadmin后台管理2.新增账号:zero/zero12343.修改为在职状态4.添加组group:销售部 - 权限操作轮播图5.分配zero到销售部"""

基于Django的权限系统

新建user应用
"""1.终端前往luffyapi/apps所在目录>: python ../../manage.py startapp user2.settings/dev.py中注册userINSTALLED_APPS = [    # ...    'user']3.分发路由1)主路由urls.pyfrom django.urls import includeurlpatterns = [    # ...    path('user/', include('user.urls')),]2)子路由from django.urls import path, re_pathfrom . import viewsurlpatterns = []"""
自定义user表:user.models.py
from django.db import modelsfrom django.contrib.auth.models import AbstractUserclass User(AbstractUser):    mobile = models.CharField(verbose_name="手机号码", max_length=15, unique=True)    avatar = models.ImageField(upload_to='avatar', verbose_name='用户头像', null=True, blank=True, help_text="头像图片的大小规格:256x256,或者对应的比例的图片")    class Meta:        db_table = 'luffy_user'        verbose_name = '用户'        verbose_name_plural = verbose_name
修改auth认证的user表:settings/dev.py
# 这里是固定写法:模块.继承AbstractUser的自定义User表AUTH_USER_MODEL = 'user.User'
数据库迁移:因为之前已经完成数据库迁移,auth认证的用户表指向系统,所以要重构数据库
"""1) 在项目根目录下的终端>: python manage.py makemigrations>: python manage.py migrate2) 出现冲突3)清空迁移记录:以下目录的所有迁移记录文件django/contrib/admin/migrationsdjango/contrib/auth/migrationsxadmin/migrationsreversion/migrationsuser/migrationshome/migrations4)清空数据库所有表5)重新数据库迁移>: python manage.py makemigrations>: python manage.py migrate"""
新建管理员用户:大luffyapi文件夹
>: python manage.py createsuperuser
格式化xadmin显示表信息
# 1.user.__init__.py    default_app_config = "user.apps.UserConfig"#2.user.apps.pyfrom django.apps import AppConfigclass UserConfig(AppConfig):    name = 'user'    verbose_name = '用户中心'

转载于:https://www.cnblogs.com/ruhai/p/11311609.html

你可能感兴趣的文章
记忆讲师石伟华微信公众号2017所有文章汇总(待更新)
查看>>
mechanize (1)
查看>>
FactoryBean
查看>>
Coolite动态加载CheckboxGroup,无法在后台中获取
查看>>
如何在我们项目中利用开源的图表(js chart)
查看>>
nfs服务器工作原理
查看>>
C3P0连接池工具类使用
查看>>
SVN常用命令备注
查看>>
孩子教育
查看>>
解决Cacti监控图像断断续续问题
查看>>
结构体的传参理解成员的存储方式
查看>>
python 进程与线程(理论部分)
查看>>
什么是API
查看>>
Java反射中method.isBridge() 桥接方法
查看>>
[shiro学习笔记]第二节 shiro与web融合实现一个简单的授权认证
查看>>
强名称程序集(strong name assembly)——为程序集赋予强名称
查看>>
1028. List Sorting (25)
查看>>
BZOJ 1613: [Usaco2007 Jan]Running贝茜的晨练计划
查看>>
ubuntu 重启命令,ubuntu 重启网卡方法
查看>>
Linux的学习:
查看>>