zoukankan      html  css  js  c++  java
  • 自定义认证

    如果用普通的认证,直接就用login,logout,authenticate就可以了

    用户认证的方式在django.contrb.auth.backend里面的ModelBackend类当中
    需要在settings.py里面进行设置
    AUTHENTICATION_BACKENDS =(
        'app.模块.类' ,
    )
    authenticate方法就可以实现自定义认证了,login,logout是request与user对象之间的关系
    from django.contrib.auth import login, logout, authenticate

    user =
    authenticate(username=username,password=password)
    authenticate如果认证成功会返回一个user对象,不成功会返回None值
    from django.contrib.auth.backends import ModelBackend      authenticate是这个ModelBackend模块里面的方法
    authenticate是验证帐号密码所以可以通过继承重写验证帐号密码方式 

    login(request, user)
    根据传入的request对象和user对象进行登录
    request.user在这个方法当中生成的
    login产生了很多东西,很多session

    logout(request)
    传入request就可以进行注销

    Q(email=username) | Q(phone=username)
    Q是短函数 写一段语句  
    user.check_password  验证密码

    from django.db.models import Q

    通过这种继承的方式重写了认证方式需要在settings.py里面进行设置,如同自定义User一般
    AUTHENTICATION_BACKENDS = (
                'app.model.类名',
    )

    自定义User类,自定义认证方式,通过继承复写之后再在settings.py里面进行指定自定的方法加载     











  • 相关阅读:
    Eclipse编辑JS响应慢,复制粘贴卡顿的解决方案
    Oracle 通过字段名查询其所在的表
    spring mvc流转控制说明
    Iterable(迭代器)的用法
    spring事务配置详解
    创建第一个Hiberntae工程
    spring3.0注解
    Ext中Grid重新load设置URL
    spring框架设计理念(上)
    Eclipse快捷键大全
  • 原文地址:https://www.cnblogs.com/wuqingzangyue/p/5749593.html
Copyright © 2011-2022 走看看