码迷,mamicode.com
首页 > 其他好文 > 详细

auth组件

时间:2018-11-26 21:58:18      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:code   pre   ora   session   username   word   创建用户   rac   active   

auth是什么?

? django内置的用户认证系统,可以快速的实现,登录,注销,修改密码....

auth的使用

1)想在原来有的表的基础上添加一些字段(定义一个表模型,继承(AbstractUser))

models.py文件中添加 (添加了字段phone和sex)

from django.db import models
from django.contrib.auth.models import AbstractUser
# Create your models here.

class UserInfo(AbstractUser):
    phone = models.CharField(max_length=11)
    sex = models.CharField(max_length=4)
    
? 2)创建用户
user = request.POST.get(‘user‘)
pwd = request.POST.get(‘pwd‘)
sex = request.POST.get(‘sex‘)
phone = request.POST.get(‘phone‘)
userinfo=models.UserInfo.objects.create_user(username=user,password=pwd,sex=sex,phone=phone)
? 3)用户验证
name = request.POST.get(‘user‘)
pwd = request.POST.get(‘pwd‘)
user = auth.authenticate(request,username=name,password=pwd)
4)登录(其实就是在session中写了一条数据)
auth.login(request,user)
5)注销(内部:调用了request.session.flush(),删除了登录状态)
auth.logout(request)
6)登录认证装饰器(若没有登录跳转到‘/login/‘)

? 1 没在配置文件中配置

from django.contrib.auth.decorators import login_required
@login_required(login_url=‘/login/‘)

? 2 在配置文件中配置

setting.py

LOGIN_URL=‘/login/‘

views.py

from django.contrib.auth.decorators import login_required
@login_required()
7)校验密码(先拿到用户(可以是登录用户,可以现查))
request.user.check_password(pwd)
8)修改密码(注意:一定要调用save(),否则是不保存的)
user.set_password(pwd)
user.save()
9)is_authenticated()

? 如果通过验证,是true反之false

10)
is_active:禁止登录网站(用户还存在,封号)
is_staff:是否对网站有管理权限(能不能登录admin)

auth组件

标签:code   pre   ora   session   username   word   创建用户   rac   active   

原文地址:https://www.cnblogs.com/jianhaozhou/p/10022848.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!