Sto provando a utilizzare MongoEngine in un progetto di django che sto scrivendo. Sto avendo difficoltà a capire (o capire come) il backend di autenticazione funziona.MongoEngine Autenticazione utente (django)
L'oggetto utente per quanto posso dire non è memorizzato nella richiesta.
Ho funzionato ma non sono sicuro se lo sto facendo nel modo giusto/sicuro. Se qualcuno potesse guardare il mio codice sarei molto apprezzato.
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')
nel mio settings.py ho aggiunto nella parte superiore del file:
AUTHENTICATION_BACKENDS = (
'mongoengine.django.auth.MongoEngineBackend',
)
SESSION_ENGINE = 'mongoengine.django.sessions'
import mongoengine
mongoengine.connect('project')
Grazie per l'aiuto ho fatto esattamente come dovrebbe ora, una nota è che non si dovrebbe chiamare la vista 'login' in quanto si è scontrata con la funzione di accesso effettivo. – justinfay
corretto, stavo copiando il tuo esempio. quello che ho scritto è stato mostrare il pattern – MattoTodd
Grazie per il puntatore! Potrebbe avere senso però importare ** Utente ** da ** mongoengine.django.auth ** (l'utente "normale" deve essere importato da ** django.contrib.auth.models **, non ** django.contrib .auth **) –