Django Auth
We are successfully using Active Directory in a project.
Development
To login when using the development server (i.e. no IIS server to do the
authentication, set the REMOTE_USER
environment variable e.g. (for the
fish shell):
set -x REMOTE_USER "patrick.kimber"
For more information see StackOverflow, using REMOTE_USER - How to test in dev server
Backend
Warning
This ended up being far more complicated than is shown below!
We created our own authentication_backend:
# -*- encoding: utf-8 -*-
from django.contrib.auth.backends import RemoteUserBackend
class ExistingRemoteUserBackend(RemoteUserBackend):
create_unknown_user = False
def clean_username(self, username):
"""Remove the domain name from the 'username'."""
pos = username.find("\\")
if pos == -1:
result = username
else:
result = username[pos + 1 :]
return result
Our tests are copies of the Django tests at test_remote_user.