私が書いている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')