Я пытаюсь выполнить обычную проверку подлинности с помощью django, я написал класс и заполнил его методами authenticate и get_user. Я также добавил эту аутентификацию в файл AUTHENTICATION_BACKENDS в файле settings.py.Django Custom Authentication -
Я вызвал метод аутентификации и следил за ним с помощью логина в моем представлении.
Все, кажется, работает хорошо,
- is_authenticated возвращает истину для пользователя после входа в систему,
- user.backends набор для моего пользовательского бэкэндом.
- SessionID печенье становится установлен в браузере
Но последующие запросы имеют request.user как анонимные, не в состоянии выяснить причину, нужна ваша помощь. Разделяя код ниже, я просто пытаюсь изучить пользовательскую аутентификацию.
views.py
def home(request):
if not request.user.is_authenticated():
user=authenticate(username=None,passwd=None,request=request)
if not user:
return HttpResponse("Login Failed")
else:
login(request,user)
return HttpResponse("Logged in Successfully")
cusauth.py
class CustomloginBackend:
def authenticate(self,username=None,passwd=None,request=None):
return self.get_user("praveen.madhavan")
def get_user(self,username):
try:
return User.objects.get(username=username)
except Exception as e:
return False
Что может быть проблема?
Благодаря
Praveen.M
Вы нашли решение для этого? – Benjamin