为什么django buildin login_required装饰器不检查is_active标志?
我必须使用另一个装饰器或身份验证类型来解决此问题吗?
我的解决方法是覆盖装饰者:
from django.contrib.auth.decorators import login_required as login
def login_required(fn):
@login
def wrapper(*args, **kwargs):
return fn(*args, **kwargs) if args[0].user.is_active else HttpResponse()
return wrapper
答案 0 :(得分:0)
login_required装饰器不会检查a上的is_active标志 用户,但默认的AUTHENTICATION_BACKENDS拒绝不活动的用户。
我已经对此进行了测试,当使用默认的身份验证后端和loging_required装饰器时,不活动的用户无法登录。