Hur man autentiserar sig mot Djangos användardatabas från ApacheLink to this heading
Since keeping multiple authentication databases in sync is a common problem
when dealing with Apache, you can configure Apache to authenticate against
Django’s authentication system directly. This
requires Apache version >= 2.2 and mod_wsgi >= 2.0. For example, you could:
Servera statiska filer/mediefiler direkt från Apache endast till autentiserade användare.
Autentisera åtkomst till ett Subversion-repository mot Django-användare med en viss behörighet.
Tillåt vissa användare att ansluta till en WebDAV-delning som skapats med mod_dav.
Autentisering med mod_wsgiLink to this heading
Se till att mod_wsgi är installerat och aktiverat och att du har följt stegen för att konfigurera Apache med mod_wsgi.
Redigera sedan Apache-konfigurationen så att du lägger till en plats som endast autentiserade användare ska kunna se:
WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py
WSGIPythonPath /path/to/mysite.com
WSGIProcessGroup %{GLOBAL}
WSGIApplicationGroup %{GLOBAL}
<Location "/secret">
AuthType Basic
AuthName "Top Secret"
Require valid-user
AuthBasicProvider wsgi
WSGIAuthUserScript /path/to/mysite.com/mysite/wsgi.py
</Location>
Direktivet WSGIAuthUserScript säger till mod_wsgi att köra funktionen check_password i det angivna wsgi-skriptet och skicka användarnamnet och lösenordet som det får från prompten. I det här exemplet är WSGIAuthUserScript detsamma som WSGIScriptAlias som definierar din applikation som skapas av django-admin startproject.
Slutligen redigerar du ditt WSGI-skript mysite.wsgi för att knyta Apaches autentisering till din webbplats autentiseringsmekanismer genom att importera funktionen check_password:
import os
os.environ["DJANGO_SETTINGS_MODULE"] = "mysite.settings"
from django.contrib.auth.handlers.modwsgi import check_password
from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()
Förfrågningar som börjar med /secret/ kommer nu att kräva att en användare autentiserar sig.
I mod_wsgi access control mechanisms documentation finns ytterligare detaljer och information om alternativa metoder för autentisering.