如何在ModelBackEnd中检查Django中的非活动用户

想要上网

如何在ModelBackEnd中检查不活动的自定义用户而不返回None(如AllowAllUsersModelBackend所做的事情)?这是我到目前为止的内容:

from django.contrib.auth import backends, get_user_model
from django.db.models import Q
UserModel = get_user_model()


class ModelBackend(backends.ModelBackend):
    def authenticate(self, request, username=None, password=None, **kwargs):
        if username is None:
            username = kwargs.get(UserModel.USERNAME_FIELD)
        try:
            # user = UserModel._default_manager.get_by_natural_key(username)
            # You can customise what the given username is checked against, here I compare to both username and email fields of the User model
            user = UserModel.objects.get(Q(username__iexact=username) | Q(email__iexact=username))
            #print("what is going on")
        except UserModel.DoesNotExist:
            # Run the default password hasher once to reduce the timing
            # difference between an existing and a nonexistent user (#20760).
            UserModel().set_password(password)
        else:
            if user.check_password(password) and self.user_can_authenticate(user):
                return user
        return super().authenticate(request, username, password, **kwargs)
伊恩·谢尔文顿

获取用户实例时将条件添加到查询中

user = UserModel.objects.exclude(is_active=False).get(Q(username__iexact=username) | Q(email__iexact=username))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Django测试中以非活动用户身份登录

如何在Laravel 5.2中登录活动用户?

在Bitbucket中查找非活动用户列表?

如何在Google Apps脚本自定义功能中获取“活动用户”的用户属性

如何在odoo 9中存储当前记录的用户ID或活动用户ID?

如何自动从数据库和身份验证中删除Firebase非活动用户?

如何在使用C ++的SYSTEM进程中获取活动用户名?

如何在下拉菜单中仅列出活动用户

如何获取tomcat中的活动用户列表

如何在非活动类中检查权限?

如何将当前活动用户作为外键添加到Django 3的任务模型中?

Tomcat7在tomcat管理器中显示非活动用户的数量

SQL:如何根据参数显示/隐藏非活动用户

如何从应用制作工具中的活动用户会话中获取 Google UserId?

如何将活动用户传递给Django ModelForms

如何禁用Windows 8.1中最后一个活动用户的自动登录?

如何启动用户仅在android中输入一次信息的活动?

强制非活动用户注销

非活动用户的SQL查询

禁用Active Directory非活动用户

Yii2在API中设置活动用户

在Xbox 1 UWP中查找当前活动用户

如何在Django模板中检查用户是否在线?

如何在 Django 中检查用户是否是模型对象的成员?

如何在具有许多活动用户的Firebase数据库中创建自定义的简短唯一ID

如何获取活动用户的UserDetails

如何在 Netbeans 13 中自定义启动用户界面

如何在没有明确注册的情况下在Unity中识别移动用户

滚动前几天在bigquery中也处于活动状态的活动用户