我正在尝试在我写的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')
Run Code Online (Sandbox Code Playgroud)
在我的settings.py中,我已添加到文件的顶部:
AUTHENTICATION_BACKENDS = (
'mongoengine.django.auth.MongoEngineBackend',
)
SESSION_ENGINE = 'mongoengine.django.sessions'
import mongoengine
mongoengine.connect('project')
Run Code Online (Sandbox Code Playgroud) 今天偶然我发现按下escescpython解释器列出了解释器启动目录的内容.奇怪的是,序列需要执行两次才能使它最初工作,但之后每次都会工作.
我无法在任何地方找到此功能,我想知道解释器是否还有其他未记录的功能.