I all,
i don't know if this problem is from mongoengine ( link width Django "Authentification" ) but i think there are relation .
I have created a model ( CreaviUser ) who derivate from User model.
Each request must be authentificated, by a middleware ( this is a simple test is_authenticated() ) , but when i refresh or navigate on my website, sometimes i am redirected to my login form . And if i refresh again , i return on my website !
I checked the logs of mongodb :
Wed May 22 16:09:25.632 [conn1036] query creaboard.user query: { _id: ObjectId('5194922d88a53d4da3a2f6ce'), _cls: { $in: [ "User" ] } } ntoreturn:1 ntoskip:0 nscanned:0 keyUpdates:0 locks(micros) r:83 nreturned:0 reslen:20 0ms
Wed May 22 16:09:25.643 [conn1033] query creaboard.user query: { _id: ObjectId('5194922d88a53d4da3a2f6ce'), _cls: { $in: [ "User", "User.CreaviUser" ] } } ntoreturn:1 ntoskip:0 nscanned:3 keyUpdates:0 locks(micros) r:141 nreturned:1 reslen:548 0ms
Sometimes the query is different
ok -> $in: [ "User", "User.CreaviUser" ]
Fail -> $in: [ "User" ]
Have you an idea of the problem?
Ch.
My CreaviUser Model:
# -*- coding:utf-8 -*-
from mongoengine import *
from mongoengine.django.auth import User,UserManager
import datetime
class CreaviUser(User):
"""
Surcharge de l'utilisateur standard
"""
username = StringField(max_length=50,required=True)
is_admin = BooleanField(default=False)
nocentre = IntField(required=True)
centre = StringField(max_length=50, required=True)
adresse = StringField(max_length=100, required=True)
adresse2 = StringField(max_length=100, required=False)
cp = StringField(max_length=5, required=True)
ville = StringField(max_length=50, required=True)
pays = StringField(max_length=50,default='FRANCE',required=True)
telephone = StringField(max_length=30, required=False)
fax = StringField(max_length=30, required=False)
site = URLField()
mail = EmailField()
date = DateTimeField(default=datetime.datetime.now, required=True)
# Use UserManager to get the create_user method, etc.
objects = UserManager()