Conas fíordheimhniú i gcoinne bunachar sonraí úsáideoirí Django ó 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:

  • Freastal ar chomhaid statacha/meán go díreach ó Apache d'úsáideoirí fíordheimhnithe amháin.

  • Fíordheimhnigh rochtain ar stór Subversion i gcoinne úsáideoirí Django le cead áirithe.

  • Lig d'úsáideoirí áirithe ceangal le scair WebDAV a cruthaíodh le mod_dav.

Fíordheimhniú le mod_wsgiLink to this heading

Déan cinnte go bhfuil mod_wsgi suiteáilte agus gníomhachtaithe agus gur lean tú na céimeanna chun bunú:doc: Apache le mod_</howto/deployment/wsgi/modwsgi> wsgi.

Ansin, cuir do chumraíocht Apache in eagar chun suíomh a chur leis nach dteastaíonn uait nach mbeidh ach úsáideoirí fíordheimhnithe in ann a fheiceáil:

Apache
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>

Insíonn an treoir wsgiauthuserscript do mod_wsgi an fheidhm check_password a fhorghníomhú i script wsgi sonraithe, ag dul ar aghaidh an ainm úsáideora agus an pasfhocal a fhaigheann sé ón pras. Sa sampla seo, tá an WSGIAuthUserScript` mar an gcéanna leis an WSGIScriptalias a shainmhíníonn d'iarratas:doc: atá cru</howto/deployment/wsgi/index> thaithe ag django-admin startproject.

Faoi dheireadh, cuir do script WSGI mysite.wsgi in eagar chun fíordheimhniú Apache a cheangal le meicníochtaí fíordheimhnithe do shuíomh tríd an fheidhm check_password a allmhairiú:

Code
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()

Beidh iarratais a thosaíonn le /rúdaí/ éilíonn úsáideoir a fhíordheimhniú anois.

Soláthraíonn mod_wsgi doiciméadú meicníochtaí rialaithe rochtaine sonraí agus faisnéis bhreise faoi mhodhanna malartacha fíordheimhnithe.

Údarú le grúpaí mod_wsgi` agus DjangoLink to this heading

cuireann mod_wsgi feidhmiúlacht ar fáil freisin chun suíomh ar leith a theorannú do bhaill ghrúpa.

Sa chás seo, ba chóir go mbeadh cuma seo ar chumraíocht Apache:

Apache
WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py

WSGIProcessGroup %{GLOBAL}
WSGIApplicationGroup %{GLOBAL}

<Location "/secret">
    AuthType Basic
    AuthName "Top Secret"
    AuthBasicProvider wsgi
    WSGIAuthUserScript /path/to/mysite.com/mysite/wsgi.py
    WSGIAuthGroupScript /path/to/mysite.com/mysite/wsgi.py
    Require group secret-agents
    Require valid-user
</Location>

Chun tacú leis an treoir WSGIAuthGroupScript, ní mór don script WSGI céanna mysite.wsgi an fheidhm groups_for_user a iompórtáil freisin a thugann liosta grúpaí leis an úsáideoir ar leith.

Python
from django.contrib.auth.handlers.modwsgi import check_password, groups_for_user

Éilíonn iarratais ar /rúna/ anois an t-úsáideoir a bheith ina bhall den ghrúpa “gníomhairí rúnaimh”.