Django REST framework -10-自定义认证类

1 编写自定义验证类

可以在项目 app 的任意一个文件中编写这个类,之后设置一下就可以了。

比如在 users 应用下新建一个文件 users_auth.py, 添加如下内容

from django.contrib.auth.backends import ModelBackend
from django.contrib.auth import get_user_model
from django.db.models import Q


User = get_user_model()

class CustomBackend(ModelBackend):
    def authenticate(self, request, username=None, password=None, **kwargs):
        try:
            # 通过用户名或邮箱来获取用户对象
            user = User.objects.get(
                Q(username=username) |
                Q(email=username ) |
                Q(mobile = username)
            )
            # 验证用户的密码
            if user.check_password(password):
                return user
        except Exception:
            return None

2 在 settings.py 中设置

# 自定义登录验证类
AUTHENTICATION_BACKENDS = (
    'users.users_auth.CustomBackend',  # 注意后面的逗号
)

相关推荐

  1. Django REST framework -10-定义认证

    2024-01-01 04:24:02       35 阅读
  2. Spring Task 定义定时任务

    2024-01-01 04:24:02       26 阅读
  3. 认识异常,定义异常

    2024-01-01 04:24:02       7 阅读
  4. c++ 定义Logger 日志

    2024-01-01 04:24:02       30 阅读
  5. 实现C++定义的String

    2024-01-01 04:24:02       20 阅读
  6. WPF 定义按钮实现

    2024-01-01 04:24:02       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-01 04:24:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-01 04:24:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-01 04:24:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-01 04:24:02       18 阅读

热门阅读

  1. 【WPF.NET开发】将路由事件标记为已处理和类处理

    2024-01-01 04:24:02       34 阅读
  2. 9、python-闭包

    2024-01-01 04:24:02       42 阅读
  3. 【PostgreSQL如何查看page、index的详细信息】

    2024-01-01 04:24:02       41 阅读
  4. 深入理解SqlSugar ORM框架的使用与实战

    2024-01-01 04:24:02       31 阅读
  5. 【Delphi 基础知识 8】常用的运算符

    2024-01-01 04:24:02       39 阅读
  6. 长度最小的子数组

    2024-01-01 04:24:02       37 阅读
  7. 数据库查询优化

    2024-01-01 04:24:02       39 阅读
  8. PostgreSQL | 概念 | 什么是OLTP&OLAP?

    2024-01-01 04:24:02       39 阅读
  9. 组合设计模式

    2024-01-01 04:24:02       33 阅读
  10. Ant Design Vue表单组件a-form-item-rest使用

    2024-01-01 04:24:02       39 阅读
  11. 如何将Git的语言设置为中文

    2024-01-01 04:24:02       40 阅读
  12. 腾讯云轻量应用服务器测评,2核4G5M配置3年756元

    2024-01-01 04:24:02       37 阅读
  13. 使用函数的选择法排序

    2024-01-01 04:24:02       38 阅读
  14. python的pandas数据分析处理基础学习

    2024-01-01 04:24:02       38 阅读
  15. MySQL中常用的数据类型

    2024-01-01 04:24:02       42 阅读
  16. Android获取电池充电状态是否为快充

    2024-01-01 04:24:02       37 阅读
  17. python统计学-矩估计法、极大似然估计法?

    2024-01-01 04:24:02       38 阅读
  18. Linux: memory: THP相关的一些链接

    2024-01-01 04:24:02       34 阅读