So, the bottom line is, what do I need to do after I do a authenticate() to 
have the login persist in the session and in the other views? 

Thanks

On Nov 15, 2012, at 8:23 PM, Anil Jangity <[email protected]> wrote:

> I am trying to build a custom User model with a custom authentication backend 
> (ldap).
> Here is what I've done so far:
> 
> Custom LDAP authentication backend:
> 
> class LDAPBackend:
>    def get_user(self, user_id):
>        try:
>            return LDAPUser.objects.get(pk=user_id)
>        except LDAPUser.DoesNotExist:
>            return None
> 
> 
>    def authenticate(self, dn=None, password=None):
>       conn = DS(settings.AUTH_LDAP_SERVER) 
>       conn.connect(dn, password)
>       try:
>            user = LDAPUser.objects.get_or_create(dn=dn)
>            return user
>        except LDAPUser.DoesNotExist:
>           pass
>       return None
> 
> =========================
> 
> Custom User model:
> 
> class LDAPUserManager(BaseUserManager):
> 
>    def get_or_create(self, dn):
>        user = LDAPUser(dn)
>        return user
> 
> 
> class LDAPUser(AbstractBaseUser):
>    dn = models.CharField(max_length=128)
> 
>    is_active = models.BooleanField(default=True)
>    is_admin = models.BooleanField(default=False)
> 
>    objects = LDAPUserManager()
>    USERNAME_FIELD = 'dn'
> 
>    def __unicode__(self):
>        return self.dn
>    …
> 
> 
> 
> =========================
> 
> 
> 
> Based on that, in my view I have:
> def do_login():
>       user = authenticate(dn=dn, password=password)
>       user.is_authenticated()    <--- returns True
>       return HttpResponseRedirect("/manage")
> 
> def manage():
>    print request.session['dn']
>    print request.user
> 
> 
> Shouldn't the request.user in manage() be my LDAPUser instance? It shows 
> AnonymousUser. Where is the session stored (if any) when I do the 
> authenticate() ?
> Sorry for these basic questions, I am new to Django.
> 
> Also, I feel like I am going to end up having to customize every aspects of 
> the User model… am I going about this the wrong way?
> 
> What I am really trying to do is create a LDAP based users as well as LDAP 
> based database (no SQL database) for all my data. I looked at 
> Django_auth_ldap, but that won't cut it, I need to have a little bit more 
> customization on it (I think).
> 
> Thanks for any help!
> Anil
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Django users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/django-users?hl=en.
> 

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to