Actually I did, see my last comment ;)
On Nov 15, 2012, at 8:32 PM, Russell Keith-Magee <russ...@keith-magee.com> wrote: > Hi Anil, > > Before you started developing your own, did you consider doing a quick google > search to see if there were any existing solutions that implemented LDAP > authentication for Django? > > http://packages.python.org/django-auth-ldap/ > > Yours, > Russ Magee %-) > > On Fri, Nov 16, 2012 at 12:23 PM, Anil Jangity <an...@me.com> 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 django-users@googlegroups.com. >> To unsubscribe from this group, send email to >> django-users+unsubscr...@googlegroups.com. >> 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 django-users@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com. > 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 django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.