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里面进行指定自定的方法加载     











  • 相关阅读:
    选择器
    【兼容】text
    SQL2008的数据更新跟踪测试
    拖拽文件到RichEdit的后期处理
    Web Browser 的扩展
    URL Protocol Handler
    asterisk1.6异步脚本
    CSDNER如何才能做到"最不缺的是技术"
    关于SQL语句Count的一点细节
    TG787 脚本
  • 原文地址:https://www.cnblogs.com/wuqingzangyue/p/5749593.html
Copyright © 2011-2022 走看看