---
title: "Conas fíordheimhniú ag baint úsáide as REMOTE_USER"
version: 5.2
locale: ga
source: https://docs.djangoproject.com/ga/5.2/howto/auth-remote-user/
canonical: https://djangodocs.dev/ga/5.2/howto/auth-remote-user/
---
# Conas fíordheimhniú ag baint úsáide as `REMOTE_USER`

Déanann an doiciméad seo cur síos ar conas foinsí fíordheimhnithe seachtracha a úsáid (áit a shocraíonn an freastalaí gréasáin an athróg timpeallachta `REMOTE_USER`) i d'iarratais Django. Is gnách go bhfeictear an cineál réiteach fíordheimhnithe seo ar shuíomhanna inlín, le réitigh sínithe aonair mar IIS agus Fíordheimhniú Comhtháite Windows nó Apache agus [mod\_authnz\_ldap](https://httpd.apache.org/docs/current/mod/mod_authnz_ldap.html), [CAS](https://www.apereo.org/projects/cas), [WebAuth](https://uit.stanford.edu/service/authentication), [mod\_auth\_sspi](https://sourceforge.net/projects/mod-auth-sspi), srl.

Nuair a thugann an freastalaí gréasáin aire d'fhíordheimhniú de ghnáth socraíonn sé an t-athróg timpeallachta `REMOTE_USER` le húsáid san fheidhmchlár bunúsach. \<django.http.HttpRequest.META\>I Django, cuirtear `REMOTE_USER` ar fáil sa tréith: attr: Request.meta \`. Is féidir Django a chumrú chun úsáid a bhaint as an luach \`\`REMOTE\_USER\` ag baint úsáide as na ranganna `RemoteUserMiddleware` nó `PersistentRemoteUserMiddleware`, agus:class: ~django.contrib.auth.backends.remoteUserBackend atá le fáil in:mod: django.contrib.auth.

## Cumraíocht

Ar dtús, ní mór duit an:class: django.contrib.auth.middleware.remoteUserMiddleware a chur leis an socrú:setting: MIDDLEWARE tar éis \*\* an:class: django.contrib.auth.middleware.AuthenticationMiddleware:

```
MIDDLEWARE = [
    "...",
    "django.contrib.auth.middleware.AuthenticationMiddleware",
    "django.contrib.auth.middleware.RemoteUserMiddleware",
    "...",
]
```

Ansin, ní mór duit:class: ~django.contrib.auth.backends.modelBackend a chur in ionad la:class: ~django.contrib.auth.backends.remoteUserBackend sa socrú: AUTHENTICATION\_BACKENDS:

```
AUTHENTICATION_BACKENDS = [
    "django.contrib.auth.backends.RemoteUserBackend",
]
```

Leis an socrú seo, braithfidh `RemoteUserMiddleWare` an t-ainm úsáideora in request.meta \['REMOTE\_USER'\] agus déanfaidh sé fíordheimhniú agus logáil isteach go huathoibríoch an t-úsáideoir sin ag baint úsáide as an: class: ~django.contrib.auth.backends.remoteUserBackend.

Bí ar an eolas go ndíchumasaíonn an socrú áirithe seo fíordheimhniú leis an réamhshocraithe `ModelBackend`. Ciallaíonn sé seo mura socraítear an luach REMOTE\_USER\` ansin níl an t-úsáideoir in ann logáil isteach, fiú ag baint úsáide as comhéadan riaracháin Django. Ag cur `` `Django.contrib.auth.backends.ModelBackend' `` leis an liosta `AUTHENTICATION_BACKENDS`, úsáidfear `ModelBackend` mar fhillback má tá `REMOTE_USER` as láthair, rud a réiteoidh na saincheisteanna seo.

Ní chomhtháthaíonn bainistíocht úsáideora Django, mar shampla na tuairimí i contrib.admin \`\`agus an t-ordú bainistíochta: djadmin: \`createsuperuser, le húsáideoirí iargúlta. Oibríonn na comhéadain seo le húsáideoirí atá stóráilte sa bhunachar sonraí beag beann ar AUTHENTICATION\_BACKENDS\`.

> **Note**
>
> Ós rud é go dtagann an RemoteUserBackend\` oidhreacht ó `ModelBackend`, beidh na ceadanna céanna go léir agat fós a chuirtear i bhfeidhm i `ModelBackend`.
>
> \<django.contrib.auth.models.User.is\_active\>Ní cheadfar d'úsáideoirí le:attr: is\_active=false \`fíordheimhniú. Úsáid:class: \`~django.contrib.auth.backends.allowAllUsersRemoteUserBackend más mian leat ligean dóibh.

If your authentication mechanism uses a custom HTTP header and not
`REMOTE_USER`, you can subclass `RemoteUserMiddleware` and set the
`header` attribute to the desired `request.META` key.  For example:

*`mysite/middleware.py`*

```python
 from django.contrib.auth.middleware import RemoteUserMiddleware

 class CustomHeaderRemoteUserMiddleware(RemoteUserMiddleware):
     header = "HTTP_AUTHUSER"
```

This custom middleware is then used in the [`MIDDLEWARE`](/ga/5.2/ref/settings/#std-setting-MIDDLEWARE) setting
instead of [`django.contrib.auth.middleware.RemoteUserMiddleware`](/ga/5.2/ref/middleware/#django.contrib.auth.middleware.RemoteUserMiddleware):

```
MIDDLEWARE = [
    "...",
    "django.contrib.auth.middleware.AuthenticationMiddleware",
    "mysite.middleware.CustomHeaderRemoteUserMiddleware",
    "...",
]
```

> **Warning**
>
> Bí an-chúramach má úsáideann tú fo-aicme ```RemoteUserMiddleware` le ceannteideal saincheaptha HTTP. Caithfidh tú a bheith cinnte go socraíonn nó stiallann do fhreastalaí gréasáin tosaigh an ceannteideal sin bunaithe ar na seiceálacha fíordheimhnithe cuí, gan ligean riamh d'úsáideoir deiridh luach ceanntásc bréige (nó “spoofed”) a chur isteach. Ós rud é go ndéanann na ceannteidil HTTP ``X-Auth-User``` agus `X-Auth_User` (mar shampla) normalú go eochair HTTP\_X\_AUTH\_USER\` i Request.meta\`, ní mór duit a sheiceáil freisin nach gceadaíonn do fhreastalaí gréasáin ceanntásc foláraithe ag úsáid béim in áit na dtaitíní.
>
> Ní bhaineann an rabhadh seo le RemoteUserMiddleware\` ina chumraíocht réamhshocraithe le ``header = 'REMOTE_USER'`, ós rud é nach féidir le eochair nach dtosaíonn le `HTTP_`` i request.meta\` a shocrú ach ag do fhreastalaí WSGI, ní go díreach ó cheannteideal iarratais HTTP.

Má theastaíonn níos mó smachta uait, is féidir leat do chúltaca fíordheimhnithe féin a chruthú a fhaigheann oidhreacht ó:class: ~django.contrib.auth.backends.remoteUserBackend agus ceann amháin nó níos mó dá thréithe agus modhanna a shárú.

## Ag baint úsáide as `REMOTE_USER` ar leathanaigh logála isteach amháin

Glacann an middleware fíordheimhnithe `RemoteUserMiddleware` go bhfuil an ceannteideal iarratais HTTP `REMOTE_USER` i láthair le gach iarratas fíordheimhnithe. D'fhéadfaí súil leis sin agus praiticiúil nuair a úsáidtear Basic HTTP Auth le htpasswd nó meicníochtaí den chineál céanna, ach le Negoate (GSSAPI/KerberOS) nó modhanna fíordheimhnithe dian-acmhainní eile, de ghnáth ní bhunaítear an fíordheimhniú sa bhfreastalaí HTTP tosaigh ach le haghaidh URL amháin nó cúpla URL, agus tar éis fíordheimhniú rathúil, ceaptar an feidhmchlár an seisiún fíordheimhnithe féin a choinneáil.

[`PersistentRemoteUserMiddleware`](/ga/5.2/ref/middleware/#django.contrib.auth.middleware.PersistentRemoteUserMiddleware)
provides support for this use case. It will maintain the authenticated session
until explicit logout by the user. The class can be used as a drop-in
replacement of [`RemoteUserMiddleware`](/ga/5.2/ref/middleware/#django.contrib.auth.middleware.RemoteUserMiddleware)
in the documentation above.
