On Feb 12, 5:03 pm, pbzRPA <pbz...@gmail.com> wrote: > The middleware looks good. Is your browser maybe not blocking cookies? > I have really though hard about it, but without code it's really > difficult to get a picture of where the problem may lie. You also said > you do custom authentication, then why is it that you printing out the > request in the django.contrib,auth.views.login?
In settings.py, I also have: AUTHENTICATION_BACKENDS = ('auth.backends.ldap_backend',) The following code represents the backend that authenticates against a LDAP directory. It is working correctly (if the supplied username and password match, it returns a User -- I've verified this. I'm trying to not overflow this message with code, hopefully I'm including enough code to be informative. So basically my understanding is that if I want to use a different authentication backend, I just specify it under AUTHENTICATION BACKENDS, and Django will abstract the authentication and login process as long as my authentication backend returns a User instance if an entered username and password are validated. Please see the following code, I'll add some more comments after it: class ldap_backend(ModelBackend): def authenticate(self, username=None, password=None): if username is not None and password is not None: <SNIPPED OUT validating username & password in LDAP> if valid: # valid = True if username & password matched the LDAP entry return self.get_user(username) def get_user(self, username): try: return User.objects.get(username=username) except User.DoesNotExist: return None The following is a portion of the django.contrib.auth.login function. If I supply the correct username and password, the function executes all the way to returning HttpResponseRedirect. I am showing where I put in a print statement to show request.user.is_authenticated(). This prints "True". def login(request, template_name='registration/login.html', redirect_field_name=REDIRECT_FIELD_NAME): "Displays the login form and handles the login action." redirect_to = request.REQUEST.get(redirect_field_name, '') if request.method == "POST": <SNIP> print "end %s" % request.user.is_authenticated() # will be True if username & pw are validated return HttpResponseRedirect(redirect_to) Now, here is the code of the view that handles redirect_to: view.py def home(request): context = {'title_prefix' : 'Account Home'} template = 'accounts/home.html' rc = RequestContext(request) return render_to_response(template, context, context_instance=rc) In this code, if I check request.user.is_authenticated, it returns False. request.user is actually AnonymousUser. However, if I look at request.session.items, I see the correct _auth_user_id for the user that just logged in. I hope that my code might be helpful. I'm quite perplexed about what's wrong. thanks again, Paul -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@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.