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 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)
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
, ini terdiri dari dua barang terdaftar di pengaturan INSTALLED_APPS
anda:
'django.contrib.auth'
mengandung inti dari kerangka kerja autentifikasi, dan model awalannya.'django.contrib.contenttypes'
adalah content type system Django, yang mengizinkan perizinan untuk digabungkan dengan model anda buat.
dan barang-barang ini di pengaturan MIDDLEWARE
anda:
SessionMiddleware
mengelola sessions lintas permintaan.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.