Та не, вопрос нормальный. Задача не ложная, но нужно вьехать как рабоает.
По-умолчанию Django использует таки бэкенды авторизации:
('django.contrib.auth.backends.ModelBackend',)
Можно посмотреть в доке дефолтные настройки https://docs.djangoproject.com/en/1.3/ref/settings/#authentication-backends Вот собственно код этого бэкенда https://github.com/django/django/blob/master/django/contrib/auth/backends.py
Когда при логине выполняется authenticate(username=username, password=password), Django пытается передать эти параметры по-очереди в метод authenticate каждого бэкенда, пока не получит объект юзера. Если юзер не получен - пароль не верен.
В линке выше вы можете увидеть бэкенды для авторизации через OpenID, twitter и др.
Если у вас в каждом запросе приходит име домена... или что вы там проверяете, можно написать свой метод login, который будет проверять его и авторизировать пользователя или показывать сообщение с ошибкой. В settings.py вписываете в LOGIN_URL урл на ваш логин и каждый раз когда нужна будет авторизацию Django будет туда редиректить.
Можно посмотреть на дефолтный логин https://github.com/django/django/blob/master/django/contrib/auth/views.py#L21 . Там не сложно, просто форму выкинуть и использовать что вам там нужно.
Обновлено 19 Окт. 2011, 20:29 alerion.