如何实现基于多条件组合的登录认证机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计513个文字,预计阅读时间需要3分钟。
JWT扩展的登录视图,在接收用户名与密码时,同时调用Django认证系统中提供的authenticate()函数来检查用户名与密码是否正确。我们可通过修改Django认证系统的认证后端,主要针对authentic端进行优化。
JWT扩展的登录视图,在收到用户名与密码时,也是调用Django的认证系统中提供的authenticate()来检查用户名与密码是否正确。
我们可以通过修改Django认证系统的认证后端(主要是authenticate方法)来支持登录账号既可以是用户名也可以是手机号。
官方说:修改Django认证系统的认证后端需要继承django.contrib.auth.backends.ModelBackend,并重写authenticate方法。
authenticate(self, request, username=None, password=None, **kwargs)方法的参数说明:
- request 本次认证的请求对象
- username 本次认证提供的用户账号
- password 本次认证提供的密码
我们想要让用户既可以以用户名登录,也可以以手机号登录,那么对于authenticate方法而言,username参数即表示用户名或者手机号。
本文共计513个文字,预计阅读时间需要3分钟。
JWT扩展的登录视图,在接收用户名与密码时,同时调用Django认证系统中提供的authenticate()函数来检查用户名与密码是否正确。我们可通过修改Django认证系统的认证后端,主要针对authentic端进行优化。
JWT扩展的登录视图,在收到用户名与密码时,也是调用Django的认证系统中提供的authenticate()来检查用户名与密码是否正确。
我们可以通过修改Django认证系统的认证后端(主要是authenticate方法)来支持登录账号既可以是用户名也可以是手机号。
官方说:修改Django认证系统的认证后端需要继承django.contrib.auth.backends.ModelBackend,并重写authenticate方法。
authenticate(self, request, username=None, password=None, **kwargs)方法的参数说明:
- request 本次认证的请求对象
- username 本次认证提供的用户账号
- password 本次认证提供的密码
我们想要让用户既可以以用户名登录,也可以以手机号登录,那么对于authenticate方法而言,username参数即表示用户名或者手机号。

