第一种:

重写自定义auth中user登陆认证模块,

引入MobelBackend

from django.contrib.auth.backends import ModelBackend

重写验证模块

class CustomBackend(ModelBackend):
def authenticate(self, request, username=None, password=None, **kwargs):
try:
user = Hbuser.objects.get(username=username)
if user.is_staff :
if user.check_password(password):
return user
else:
return None
return user
except Exception as e:
return None

注意:user.is_staff 是默认是false,这样用户就不需要输入密码,直接返回None,本教程是用于用户跟项目登陆用户共用一张表,本项目不需要让用户输入密码,只输入用户名,即可登陆

在setting里最下面设定如下:

AUTHENTICATION_BACKENDS=('bao.views.CustomBackend',)

注意:AUTHENTICATION_BACKENDS,必须是一个元组或者列表

VIews.py中,可如下例子进行验证登陆,即不需要输入密码,只需要输入用户即可登陆

class Login(View):
def post(self,request):
username=request.POST.get('username')
user=authenticate(username=username, password=None)
if user.is_authenticated:
context={
'user':user
}
return render(request,'index.html',context)

第二种:

利用user.is_staff ,判断用户是否有登陆后台

不需要写重写user登陆模块


class Login(View):
def post(self,request):
username=request.POST.get('username')
# user=authenticate(username=str(username), password=None)
user=Hbuser.objects.filter(username=username).first()
if not user.is_staff:
print 'you xiao'
context={
'user':user
}
return render(request,'index.html',context)
login(request,user)
 

django 自定义auth中user登陆认证以及自写认证的更多相关文章

  1. Django自定义过滤器中is_safe和need_autoescape两个参数的理解

    自定义template过滤器的方法参考文档,不再赘述 is_safe 文档说明过滤的两种最终形态,其中一种是设置register.filter(is_safe=True),但是对is_safe的具体作 ...

  2. django 自定义过滤器中的坑.

    今天在创建自定义过滤器的时候,设置已正常.但是在运行后报: 'filter' is not a valid tag library: Template library filter not found ...

  3. Django之auth模块(用户认证)登陆组件

    auth模块简介 auth模块是对登录认证方法的一种封装,之前我们获取用户输入的用户名及密码后需要自己从user表里查询有没有用户名和密码符合的对象, 而有了auth模块之后就可以很轻松的去验证用户的 ...

  4. Django之auth模块(用户认证)

    auth模块简介 auth模块是对登录认证方法的一种封装,之前我们获取用户输入的用户名及密码后需要自己从user表里查询有没有用户名和密码符合的对象, 而有了auth模块之后就可以很轻松的去验证用户的 ...

  5. django 自定义认证

    在Django中自定义身份验证 Django 自带的认证系统足够应付大多数情况,但你或许不打算使用现成的认证系统.定制自己的项目的权限系统需要了解哪些一些关键点,即Django中哪些部分是能够扩展或替 ...

  6. Django自定义用户认证系统之自定义用户模型

    参考文档:http://python.usyiyi.cn/django/topics/auth/customizing.html Django 自带的认证系统足够应付大多数情况,但你或许不打算使用现成 ...

  7. Django之auth用户认证

    auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: authenticate()    提供 ...

  8. django之auth认证系统

    Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Djang ...

  9. django使用auth模块进行身份认证

    https://docs.djangoproject.com/zh-hans/2.0/topics/auth/default/#authentication-in-web-requests djang ...

随机推荐

  1. Go的Channel发送和接收

    先来看一道面试题: 对已经关闭的 chan 进行读写,会怎么样?为什么? 在上一篇学习 Go 协程的文章中,知道 go 关键字可以用来开启一个 goroutine 进行任务处理,但多个任务之间如果需要 ...

  2. mfc HackerTools全局钩子

    钩子英文名叫Hook,是一种截获windows系统中某应用程序或者所有进程的消息的一种技术. 如在键盘中按下一键,操作系统将收到键按下消息,把消息放入消息队列,然后消息队列对消息进行派发,发给相应的应 ...

  3. 回忆(一):反射中获得class对象的三种方法

    package reflex; /* * 反射:就是通过class文件对象 去使用该文件中的成员 * 变量,构造方法,成员方法. * * Person p = new Person(); p.使用 * ...

  4. 并发编程之:Lock

    大家好,我是小黑,一个在互联网苟且偷生的农民工. 在之前的文章中,为了保证在并发情况下多线程共享数据的线程安全,我们会使用synchronized关键字来修饰方法或者代码块,以及在生产者消费者模式中同 ...

  5. 快速入门PaddleOCR,并试用其开发一个搜题小工具

    介绍 PaddleOCR 是一个基于百度飞桨的OCR工具库,包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别.竖排文本识别.长文本识别.同时支持多种文本检测.文本识别的训练算法. ...

  6. sublime text 的 Ctrl + P「模糊搜索算法」

    Reverse Engineering Sublime Text's Fuzzy Match 这是我能 google 到的最早的一篇关于 Sublime Text 的模糊搜索的文章. https:// ...

  7. vue 前端反向代理后台,解决跨域问题

    // 和 src 同层的 config 文件夹下的 index.js dev 里面的 // Paths     assetsSubDirectory: 'static',     assetsPubl ...

  8. Shiro02

    Shiro认证 Pom依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>s ...

  9. Django的form组件——ModelForm实战

    模型: from django.db import models class Book(models.Model): book_name = models.CharField(max_length=3 ...

  10. Git 系列教程(10)- 仓库别名

    Git 别名 前言 Git 并不会在你输入部分命令时自动推断出你想要的命令 如果不想每次都输入完整的 Git 命令,可以通过 git config 文件来轻松地为每一个命令设置一个别名 $ git c ...