---
title: "Otentifikasi pengguna di Django"
version: 3.2
locale: id
source: https://docs.djangoproject.com/id/3.2/topics/auth/
canonical: https://djangodocs.dev/id/3.2/topics/auth/
---
# Otentifikasi pengguna di Django

Django datang dengan sistem otentifikasi pengguna. Dia menangani akun pengguna, kelompok, perizinan dan sesi pengguna berbasis-kue. Bagian ini dari dokumentasi menjelaskan bagaimana penerawan awal bekerja keluar dari kotak, sama halnya bagaimana [extend and customize](/id/3.2/topics/auth/customizing/) dia untuk mencocokkan kebutuhan proyek anda.

## Ikhtisar

Sistem autentifikasi Django menangani kedua autentifikasi dan otentifikasi. Secara singkat, autentifikasi memeriksa seorang pengguna yang menjadi tuntutan mereka, dan otorisasi menentukan apa seorang pengguna diautentifikasi diizinkan melakukan. Disini istilah autentifikasi digunakan untuk mengacu kedua tugas.

Sistem autentifikasi terdiri dari:

- Pengguna
- Perizinan: Bendera biner (ya/tidak) menandakan apakah seorang pengguna mungkin melakukan tugas tertentu.
- Kelompok: Sebuah cara umum dari memberlakukan label dan perizinan pada lebih dari satu pengguna.
- Sistem mencampur sandi dikonfigurasi
- Formulir dan alat-alat tampilan untuk pengguna masuk, atau membatasi isi
- Sistem backend tertanam

Sistem autentifikasi di Django bertujuan untuk sangat umum dan tidak menyediakan beberapa fitur umumnya ditemukan di sistem autentifikasi jaringan. Pemecahan untuk beberapa dari masalah umum telah diterapkan di paket-paket pihak-ketiga:

- Pemeriksaan kekuatan sandi
- Mencengkik dari usaha masuk
- Autentifikasi terhadap pihak-ketiga (OAuth, sebagai contoh)
- Tingkat-obyek perizinan

## Pemasangan

Dukungan autentifikasi digabung sebagai modul bantuan Django di `django.contrib.auth`. Secara awalan, konfigurasi yang dibutuhkan sudah termasuk di `settings.py` dibangkitkan oleh [`django-admin startproject`](/id/3.2/ref/django-admin/#django-admin-startproject), ini terdiri dari dua barang terdaftar di pengaturan [`INSTALLED_APPS`](/id/3.2/ref/settings/#std-setting-INSTALLED_APPS) anda:

1. `'django.contrib.auth'` mengandung inti dari kerangka kerja autentifikasi, dan model awalannya.
2. `'django.contrib.contenttypes'` adalah [content type system](/id/3.2/ref/contrib/contenttypes/) Django, yang mengizinkan perizinan untuk digabungkan dengan model anda buat.

dan barang-barang ini di pengaturan [`MIDDLEWARE`](/id/3.2/ref/settings/#std-setting-MIDDLEWARE) anda:

1. [`SessionMiddleware`](/id/3.2/ref/middleware/#django.contrib.sessions.middleware.SessionMiddleware) mengelola [sessions](/id/3.2/topics/http/sessions/) lintas permintaan.
2. [`AuthenticationMiddleware`](/id/3.2/ref/middleware/#django.contrib.auth.middleware.AuthenticationMiddleware) menggabungkan pengguna dengan permintaan menggunakan sesi.

Dengan pengaturan ini di tempat, menjalankan perintah `manage.py migrate` membuat tabel-tabel basisdata yang dibutuhkan untuk autentifikasi model terkait dan perizinan untuk model apapun ditentukan di aplikasi terpasang anda.

## Penggunaan

[Using Django's default implementation](/id/3.2/topics/auth/default/)

- [Bekerja dengan Obyek Pengguna](/id/3.2/topics/auth/default/#user-objects)
- [Perizinan dan pembuktian keaslian](/id/3.2/topics/auth/default/#topic-authorization)
- [Pembuktian keaslian di permintaan jaringan](/id/3.2/topics/auth/default/#auth-web-requests)
- [Mengelola pengguna di admin](/id/3.2/topics/auth/default/#auth-admin)

[API reference for the default implementation](/id/3.2/ref/contrib/auth/)

[Customizing Users and authentication](/id/3.2/topics/auth/customizing/)

[Password management in Django](/id/3.2/topics/auth/passwords/)
