我正在尝试在我正在编写的 django 项目中使用 MongoEngine。我很难获得(或理解)身份验证后端的工作原理。
据我所知,用户对象未存储在请求中。
我让它工作,但我不确定我是否以正确/安全的方式进行操作。如果有人可以查看我的代码,我将不胜感激。
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')