Я пытаюсь использовать MongoEngine в проекте django, который я пишу. Мне трудно получить (или понять, как) работает серверная часть аутентификации.
Пользовательский объект, насколько я могу судить, не хранится в запросе.
У меня это работает, но я не уверен, что делаю это правильно / безопасно. Если бы кто-нибудь мог взглянуть на мой код, я был бы очень признателен.
def login(request):
user = authenticate(request.POST['username'],request.POST['password'])
if user is not None:
request.session['user'] = user
if user.is_authenticated:
return HttpResponse(user)
else:
return HttpResponse('login failed')
def new_page(request):
try:
user = request.session['user']
if user.is_authenticated:
return HttpResponse('welcome')
except:
return HttpResponse('need be logged in')
в моем settings.py я добавил вверху файла:
AUTHENTICATION_BACKENDS = (
'mongoengine.django.auth.MongoEngineBackend',
)
SESSION_ENGINE = 'mongoengine.django.sessions'
import mongoengine
mongoengine.connect('project')