django用户验证模块,不用密码登录
1.django用户验证模块(/django/contrib/auth/__init__.py)
from django.contrib.auth import authenticate, login username = request.POST['username'] password = request.POST['password'] user = authenticate(username=username, password=password) if user is not None: login(request, user)
2.有时候,我们想指定用户登录但是我们不知道该用户的密码,默认的 authenticate 方法必须有 password 传递进去,其执行结果是给 user 对象赋了一个 backend 属性,为此我写了一个方法来模拟这个功能,实现不知道密码的情况下登录指定用户
def login_user(request, user): user.backend = 'django.contrib.auth.backends.ModelBackend' from django.contrib.auth import login login(request, user)