一:自定义权限验证

1.在model中的Meta类自定义权限码

class WorkUser(models.Model):
username = models.CharField(u'用户名', max_length=10, unique=True)
_password = models.CharField(u'密码', max_length=50, null=False)
gender = models.CharField(u'性别', max_length=2, default=u'未知', null=False) class Meta: permissions = (
("view_gender", "显示性别"), # 在Meta中自定义权限码
)

2.判断用户是否有权限码

class OtherPageAuth(LoginRequiredMixin, View):
"""
用户是否已经验证
from django.contrib.auth.mixins import LoginRequiredMixin
指定局部的跳转url: login_url = "/work/auth_login"
全局: settings中 LOGIN_URL = '/work/auth_login'
"""
login_url = "/work/auth_login" # 没登录跳转到登陆界面,登录则正常执行
def get(self, request):
print request.user.usere_permissons.all() # 用户的所有权限
'''
request.user.has_perm #判断用户是否拥有某个权限
request.user.has_perms([perms,]) # 判断用户是否有权限列表中的某个权限
'''
if request.user.has_perm("work_register.view_gender"): # app下的权限码
message = "you can do this"
else:
message = "don\'t move anywhere "
print message
return render(request, 'logok.html', locals())

二:视图的权限 继承PermissionRequiredMixin

class OtherPageAuth(LoginRequiredMixin, PermissionRequiredMixin, View):
"""
用户是否已登录的验证,和用户是否有权限的判断
from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin
指定局部的跳转url: login_url = "/work/auth_login"
全局: settings中 LOGIN_URL = '/work/auth_login'
"""
   # 单个权限 work_register为app名字
permission_required = "work_register.view_gender" # 没有权限就直接跳转 /work/auth_login 登陆页面
   # 多个权限 多个权限都满足才行
   # permission_required = ("work_register.permission_code1", "work_register.permission_code2")
login_url = "/work/auth_login" # 没登录跳转到登陆界面,登录则正常执行
def get(self, request):
return render(request, 'logok.html', locals())

django-auth组件的权限管理的更多相关文章

  1. Django web框架之权限管理一

    1. 需求分析: 准备:创建独立app, rbac #权限管理模块/组件 app01 #应用 分配权限,URL 2. 数据库设计 2.1 设计思路 第一版: 权限表: ID url title is_ ...

  2. Django基础篇--用户权限管理和组管理

    Django作为一个成熟的python后台开发框架,为开发者提供了很多内置的功能,开发者只需要做一些配置就可以完成原生操作中比较复杂的代码编写.这些内置功能中其中一个比较强大的功能就是后台用户管理类. ...

  3. Django【进阶】权限管理

    一.权限 RBAC:role basic access control   1.什么是权限: 一个权限就是一个url,不同个权限对应不同的url,拥有权限即可以访问这个url.   2.权限划分: 如 ...

  4. tp5.1 Auth类实现权限管理

    了解来这么久权限控制权限的知识,却不知道如何写代码,网上的代码多数并没有多少完整的源码能提供参考.偶然看到官网的例子,现在终于也把源码的实现也弄得明白了一点. tp5框架的Auth类可以实现页面的访问 ...

  5. Django web框架之权限管理二

    1. login登录 def login(request): if request.method=="GET": return render(request,'login.html ...

  6. Django Auth组件->扩展用户

    Auth用户 1.声明用户表 djangauth/settings.py..............................AUTH_USER_MODEL = 'app01.UserInfo' ...

  7. Django auth组件拓展 关联外部信息---------------------------- Profile 模式

    https://docs.djangoproject.com/en/2.1/topics/auth/customizing/ 官方文档. 网上的get_profile 方法不好用太假了 可能我没用明白 ...

  8. Django实现Rbac权限管理

    权限管理 权限管理是根据不同的用户有相应的权限功能,通常用到的权限管理理念Rbac. Rbac 基于角色的权限访问控制(Role-Based Access Control)作为传统访问控制(自主访问, ...

  9. Admin后台权限管理、三大认证

    目录 APIView的请求生命周期 三大认证规则 权限六表 自定义User表 详细配置演示 models.py setting.py admin.py 使用过程: 控制填写信息的字段 控制添加权限 控 ...

随机推荐

  1. JVM知识总结-运行时区域划分

    区域简介 JVM运行时区域有些随着虚拟机进程的启动而存在,有些依赖于用户线程的启动和结束而建立和销毁,大致分为以下几类:方法区,虚拟机栈,本地方法栈,堆,程序计数器,概念图如下(源于<深入理解J ...

  2. ddt中的data,unpack,file_data实现数据驱动--数据分离

    ddt:Class decorator for subclasses of ``unittest.TestCase``. -----``unittest.testcase``子类的类修饰器. 首先介绍 ...

  3. 通过电信ADSL无线猫WLAN上网的方法

    本教程只适合中国电信ADSL无线猫使用wifi(路由器不适合此帖)我的无线猫是电信赠送的华为[EchoLife]HG522c,亲测可用,解决网关无回应! 首先打开IE(注意,只能是IE,其他内核的浏览 ...

  4. Intel IDEA 2018破解(亲测成功)

    破解网址:https://jingyan.baidu.com/article/cb5d6105d9b1b1005d2fe074.html

  5. HDU-1532 Drainage Ditches (最大流,EK算法模板)

    题目大意:最大流的模板题...源点是0,汇点是n-1. 代码如下: # include<iostream> # include<cstdio> # include<cma ...

  6. $'\r': command not found in Cygwin

    这是因为windows下的回车符改为Unix下的回车符,用以下命令可以批量修改. dos2unix ./*

  7. 在jenkins和sonar中集成jacoco(二)--在jenkins中生成jacoco覆盖率报告

    先要在jenkins上安装jacoco的插件,安装完成之后在job的配置项中可以增加这个选项: 第一个录入框是你的覆盖率文件(exec),第二个是class文件目录,第三个是源代码文件目录. 配置好了 ...

  8. Beta阶段第2周/共2周 Scrum立会报告+燃尽图 12

    作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2411] 版本控制:https://git.coding.net/liuyy08 ...

  9. wbr 视机而动

    链接 在适当的时候, 除非能容下整个单车, 才保留一行: 缩放浏览器, 试试这段就知道了 <p>To learn AJAX, you must be familiar with the X ...

  10. Robot Framework中使用HttpLibrary教程and中文支持

    Robot Framework中使用and转参数时,默认不支持中文模式,如图场景: 会出现这种错误 FAIL : UnicodeDecodeError: 'ascii' codec can't dec ...