# Django 5.2.8 documentation

# Användarautentisering i Django

Django levereras med ett system för användarautentisering. Det hanterar användarkonton, grupper, behörigheter och cookie-baserade användarsessioner. Detta avsnitt av dokumentationen förklarar hur standardimplementeringen fungerar från början, samt hur du utökar och anpassar den för att passa ditt projekts behov.

## Översikt

Djangos autentiseringssystem hanterar både autentisering och auktorisering. Kortfattat verifierar autentisering att en användare är den som den utger sig för att vara, och auktorisering avgör vad en autentiserad användare får göra. Här används termen autentisering för att hänvisa till båda uppgifterna.

Autentiseringssystemet består av:

- Användare

- Behörigheter: Binära (ja/nej) flaggor som anger om en användare får utföra en viss uppgift.

- Grupper: Ett generiskt sätt att tillämpa etiketter och behörigheter för mer än en användare.

- Ett konfigurerbart hashsystem för lösenord

- Formulär och visningsverktyg för inloggning av användare eller begränsning av innehåll

- Ett pluggbart backend-system

Autentiseringssystemet i Django syftar till att vara mycket generiskt och tillhandahåller inte vissa funktioner som vanligtvis finns i webbautentiseringssystem. Lösningar för några av dessa vanliga problem har implementerats i tredjepartspaket:

- Kontroll av lösenordets styrka

- Begränsning av inloggningsförsök

- Autentisering mot tredje part (t.ex. OAuth)

- Behörigheter på objektnivå

## Installation

Autentiseringsstöd ingår som en Django contrib-modul i `django.contrib.auth`. Som standard ingår den nödvändiga konfigurationen redan i `settings.py` som genereras av `django-admin startproject`, dessa består av två objekt som listas i din `INSTALLED_APPS` inställning:

1. `'django.contrib.auth'` innehåller kärnan i autentiseringsramverket och dess standardmodeller.

2. `'django.contrib.contenttypes'` är Djangos innehållstypssystem, som gör att behörigheter kan associeras med modeller du skapar.

och dessa objekt i din `MIDDLEWARE` inställning:

1. `SessionMiddleware` hanterar sessions över förfrågningar.

2. `AuthenticationMiddleware` associerar användare med förfrågningar med hjälp av sessioner.

Med dessa inställningar på plats skapar kommandot `manage.py migrate` de nödvändiga databastabellerna för auth-relaterade modeller och behörigheter för alla modeller som definieras i dina installerade appar.

## Användning

Using Django’s default implementation

- Arbeta med användarobjekt

- Permissioner och auktorisation

- Autenticering vid webbförfrågningar

- Hantera användare i admin

API-referens för standardimplementeringen

Customizing Users and authentication

Password management in Django