django.contrib.authLink to this heading

Dokumen ini menyediakan bahan acuan API untuk komponen-komponen dari sistem otentifikasi Django. Untuk rincian lebih pada penggunaan dari komponen-komponen ini atau bagaimana menyesuaikan autentifikasi dan otorisasi lihat authentication topic guide.

Model UserLink to this heading

BidangLink to this heading

class models.UserLink to this definition

Obyek User mempunyai bidang berikut:

usernameLink to this definition

Diwajibkan. 150 karakter atau lebih sedikit. Nama pengguna dapat mengandung alfanumerik, _, @, +, . dan - karakter.

max_length harus cukup untuk banyak penggunaan kasus. Jika anda butuh panjang lebih, harap gunakan custom user model. Jika anda menggunakan MySQL dengan penyandian utf8mb4 (dianjurkan untuk dukungan Unicode sesuai), tentukan kebanyakan max_length=191 karena MySQL hanya dapat membuat unik indeks dengan 192 karakter dalam kasus itu secara awalan.

first_nameLink to this definition

Pilihan. 30 karakter atau sedikit.

last_nameLink to this definition

Pilihan. 30 karakter atau sedikit.

emailLink to this definition

Pilihan. Alamat surel.

passwordLink to this definition

Diwajibkan. Sebuah campuran dari, dan metadata tentang, sandi. (Django tidak menyimpan sandi mentah.) Sandi mentah dapat berubah-ubah lama dan dapat mengandung karakter apapun. Lihat password documentation.

groupsLink to this definition

Hubungan banyak-ke-banyak ke Group

user_permissionsLink to this definition

Hubungan banyak-ke-banyak ke Permission

is_staffLink to this definition

Boolean. Menandai apakah pengguna ini dapat mengakses situs admin.

is_activeLink to this definition

Boolean. Menunjukkan apakah akun pengguna ini harus dianggap aktif. Kami menganjurkan bahwa anda menyetel bendera ini menjadi False daripada menghapus akun-akun; cara itu, jika aplikasi anda mempunyai foreign key apapun ke pengguna, foreign key tidak akan rusak.

Ini tidak perlu mengendalikan apakah atau tidak pengguna dapat masuk. Backend otentifikasi tidak dibutuhkan untuk memeriksa untuk bendera is_flag tetap backend awalan (ModelBackend) dan RemoteUserBackend melakukannya. Anda dapat menggunakan AllowAllUsersModelBackend atau AllowAllUsersRemoteUserBackend jika anda ingin mengizinkan pengguna tidak aktif untuk masuk. Di kasus ini, anda akan juga ingin menyesuaikan AuthenticationForm digunakan oleh tampilan login() ketika itu menolak pengguna tidak aktif. Waspada bahwa metode pemeriksaan-perizinan seperti has_perm() dan otentifikasi di admin Django semua mengembalikan False untuk pengguna tidak aktif.

is_superuserLink to this definition

Boolean. Menunjuk bahwa pengguna ini mempunyai semua perizinan tanpa secara jelas menetapkan mereka.

last_loginLink to this definition

Tanggalwaktu dari masuk terakhir pengguna.

date_joinedLink to this definition

Sebuah datetime menunjukkan ketika akun telah dibuat. Adalah disetel ke tanggal/waktu saat ini secara awalan ketika akun dibuat.

AtributLink to this heading

class models.UserLink to this definition
is_authenticatedLink to this definition

Atribut hanya-baca yang selalu True (sebagai lawan AnonymousUser.is_authenticated yang selalu False). Ini adalah cara untuk memberitahu jika pengguna telah diotentifikasi. Ini tidak berarti perizinan apapun dan tidak memeriksa jika pengguna adalah aktif atau mempunyai sesi sah. Meskipun secara biasa anda akan memeriksa atribut ini pada request.user untuk menemukan apakah itu telah dikumpulkan oleh AuthenticationMiddleware (mewakili pengguna masuk saat ini), anda harus mengetahui atribut ini adalah True untuk tiap instance User.

is_anonymousLink to this definition

Atribut hanya-baca yaitu selalu False. Ini adalah jalan untuk membedakan obyek User and AnonymousUser. Umumnya, anda harus memilih menggunakan is_authenticated pada atribut ini.

CaraLink to this heading

class models.UserLink to this definition
get_username()Link to this definition

Mengembalikan nama pengguna untuk pengguna. Sejak model User dapat bertukar, anda haus menggunakan metode ini daripada mengacu atribut nama pengguna secara langsung.

get_full_name()Link to this definition

Mengembalikan first_name ditambah last_name, dengan spasi diantaranya.

get_short_name()Link to this definition

Mengembalikan first_name.

set_password(raw_password)Link to this definition

Setel sandi pengguna ke string mentah yang diberikan, merawat campuran sandi. Tidak menyimpan obyek User.

Ketika raw_password adalah None, sandi akan disetel menjadi sebuah sandi tidak berguna, seperti jika set_unusable_password() digunakan.

check_password(raw_password)Link to this definition

Mengembalikan True jika deretan karakter mentah yang diberikan adalah sandi benar untuk pengguna. (Ini merawat hash sandi dalam membuat perbandingan.)

set_unusable_password()Link to this definition

Tandai pengguna sebagai tidak mempunyai sandi tidak disetel. Ini tidak sama seperti memiliki string kosong untuk sebuah sandi. check_password() untuk pengguna ini tidak akan pernah mengembalikan True. Tidak menyimpan obyek User.

Anda mungkin butuh ini jika otentifikasi untuk aplikasi anda memakan tempat terhadap sumber luar yang ada seperti pelipat LDAP.

has_usable_password()Link to this definition

Mengembalikan False jika set_unusable_password() telah dipanggil untuk pengguna ini.

get_group_permissions(obj=None)Link to this definition

Mengembalikan deretan karakter kumpulan perizinan yang pengguna punyai, melalui kelompok mreka.

Jika obj diloloskan, hanya mengembalikan perizinan kelompok untuk obyek tertentu ini.

get_all_permissions(obj=None)Link to this definition

Mengembalikan sekumpulan deretan karakter perizinan yang pengguna punyai, kedua melalui perizinan kelompok dan pengguna.

Jika obj diloloskan. hanya mengembalikan perizinan untuk obyek tertentu ini.

has_perm(perm, obj=None)Link to this definition

Mengembalikan True jika pengguna mempunyai perizinan tertentu, dimana perm dalam bentuk "<app label>.<permission codename>" (lihat dokumentasi pada permissions). Jika pengguna tidak aktif, metode ini akan selalu mengembalikan False.

Jika obj diloloskan, metode ini tidak akan memeriksa untuk sebuah perizinan untuk model, tetapi untuk obyek tertentu ini.

has_perms(perm_list, obj=None)Link to this definition

Mengembalikan True jika pengguna mempunyai setiap perizinan tertentu, dimana setiap perizinan dalam bentuk "<app label>.<permission codename>". Jika pengguna tidak aktif, metode ini akan selalu mengembalikan False.

Jika obj diloloskan, metode ini tidak akan memeriksa untuk perizinan-perizinan untuk model, tetapi untuk obyek tertentu.

has_module_perms(package_name)Link to this definition

Mengembalikan True jika pengguna mempunyai perizinan apapun di paket yang diberikan (label aplikasi Django). Jika pengguna tidak aktif, metode ini akan selalu mengembalikan False.

email_user(subject, message, from_email=None, **kwargs)Link to this definition

Mengirim sebuah surel ke pengguna. Jika from_email adalah None, Django menggunakan DEFAULT_FROM_EMAIL. **kwargs apapun dilewatkan ke panggilan send_mail() pokok

Pengelola metodeLink to this heading

class models.UserManagerLink to this definition

Model User mempunyai pengelola penyesuaian yang mempunyai metode pembantu berikut (sebagai tambahan pada metode disediakan oleh BaseUserManager):

create_user(username, email=None, password=None, **extra_fields)Link to this definition

Buat, simpan dan mengembalikan User.

username dan password disetel sesuai yang diberikan. Bagian ranah dari email adalah otomatis mengubah ke huruf kecil, dan mengembalikan obyek User akan menyetel is_active ke True.

Jika tidak ada sandi disediakan, set_unusable_password() akan dipanggil.

Argumen kata kunci extra_fields dilewatkan melalui metode User’s __init__ untuk mengizinkan mengatur bidang yang berubah-ubah pada custom user model.

Lihat Membuat pengguna sebagai contoh penggunaan.

create_superuser(username, email, password, **extra_fields)Link to this definition

Sama seperti create_user(), but sets is_staff dan is_superuser menjadi True.

Obyek AnonymousUserLink to this heading

class models.AnonymousUserLink to this definition

django.contrib.auth.models.AnonymousUser adalah kelas yang menerapkan antarmuka django.contrib.auth.models.User, dengan perbedaan ini:

Dalam penerapannya, anda mungkin tidak butuh menggunakan obyek AnonymousUser anda sendiri, tetapi mereka digunakan oleh permintaan Jaringan, seperti yang dijelaskan di bagian selanjutnya.

Model PermissionLink to this heading

class models.PermissionLink to this definition

BidangLink to this heading

Obyek Permission mempunyai bidang berikut:

class models.PermissionLink to this definition
nameLink to this definition

Dibutuhkan. 255 karakter atau sedikit. Contoh: 'Can vote'.

content_typeLink to this definition

Dibutuhkan. Mengacu ke tabel basisdata django_content_type, yang mengandung sebuah rekaman untuk setiap model terpasang.

codenameLink to this definition

Dibutuhkan. 100 karakter atau sedikit. Contoh: 'can_vote'.

CaraLink to this heading

Obyek Permission mempunyai standar cara akses-data seperti lainnya Django model.

Model GroupLink to this heading

class models.GroupLink to this definition

BidangLink to this heading

Obyek Group mempunyai bidang berikut:

class models.GroupLink to this definition
nameLink to this definition

Dibutuhkan. 80 karakter atau sedikit. Karakter apapun diizinkan. Contoh: 'Awesome Users'.

permissionsLink to this definition

Bidang banyak-ke-banyak ke Permission:

Code
group.permissions.set([permission_list])
group.permissions.add(permission, permission, ...)
group.permissions.remove(permission, permission, ...)
group.permissions.clear()

PengesahLink to this heading

class validators.ASCIIUsernameValidatorLink to this definition

Sebuah pengesah bidang mengizinkan hanya huruf ASCII, sebagai tambahan pada @, ., +, -, dan _. Pengesah awalan untuk User.username pada Python 2.

class validators.UnicodeUsernameValidatorLink to this definition

Sebuah pengesah bidang mengizinkan huruf Unicode, sebagai tambahan pada @, ., +, -, dan _. Pengesah awalan untuk User.username pada Python 3.

Sinyal masuk dan keluarLink to this heading

Kerangka kerja autentifikasi menggunakan signals berikut yang dapat digunakan untuk pemberitahuan ketika pengguna masuk atau keluar.

user_logged_in()Link to this definition

Terkirim ketika pengguna berhasil masuk.

Argumen dikirim dengan dinyal ini:

sender

Kelas pengguna yang baru masuk.

request

Instance HttpRequest saat ini.

user

Instance pengguna yang baru masuk.

user_logged_out()Link to this definition

Dikirim ketika metode keluar dipanggil.

sender

Seperti diatas: kelas dari pengguna yang baru keluar atau None jika pengguna tidak terautentifikasi.

request

Instance HttpRequest saat ini.

user

Antarmuka pengguna yang baru keluar atau None jika pengguna tidak terautentifikasi.

user_login_failed()Link to this definition

Terkirim ketika pengguna gagal berhasil masuk

sender

Nama modul digunakan untuk pengecekan keaslian.

credentials

A dictionary of keyword arguments containing the user credentials that were passed to authenticate() or your own custom authentication backend. Credentials matching a set of 'sensitive' patterns, (including password) will not be sent in the clear as part of the signal.

Backend pembuktian keaslianLink to this heading

This section details the authentication backends that come with Django. For information on how to use them and how to write your own authentication backends, see the Other authentication sources section of the User authentication guide.

Tersedia backend autentifikasiLink to this heading

Backend berikut tersedia di django.contrib.auth.backends:

class ModelBackendLink to this definition

This is the default authentication backend used by Django. It authenticates using credentials consisting of a user identifier and password. For Django's default user model, the user identifier is the username, for custom user models it is the field specified by USERNAME_FIELD (see Customizing Users and authentication).

Itu juga menangangi model perizinan awalan seperti ditentukan untuk User dan PermissionsMixin.

has_perm(), get_all_permissions(), get_user_permissions(), and get_group_permissions() allow an object to be passed as a parameter for object-specific permissions, but this backend does not implement them other than returning an empty set of permissions if obj is not None.

authenticate(username=None, password=None, **kwargs)Link to this definition

Tries to authenticate username with password by calling User.check_password. If no username is provided, it tries to fetch a username from kwargs using the key CustomUser.USERNAME_FIELD. Returns an authenticated user or None.

get_user_permissions(user_obj, obj=None)Link to this definition

Returns the set of permission strings the user_obj has from their own user permissions. Returns an empty set if is_anonymous or is_active is False.

get_group_permissions(user_obj, obj=None)Link to this definition

Returns the set of permission strings the user_obj has from the permissions of the groups they belong. Returns an empty set if is_anonymous or is_active is False.

get_all_permissions(user_obj, obj=None)Link to this definition

Returns the set of permission strings the user_obj has, including both user permissions and group permissions. Returns an empty set if is_anonymous or is_active is False.

has_perm(user_obj, perm, obj=None)Link to this definition

Uses get_all_permissions() to check if user_obj has the permission string perm. Returns False if the user is not is_active.

has_module_perms(self, user_obj, app_label)Link to this definition

Mengembalikan apakah user_obj mempunyai perizinan apapun pada app_label aplikasi.

user_can_authenticate()Link to this definition

Returns whether the user is allowed to authenticate. To match the behavior of AuthenticationForm which prohibits inactive users from logging in, this method returns False for users with is_active=False. Custom user models that don't have an is_active field are allowed.

class AllowAllUsersModelBackendLink to this definition

Sama seperti ModelBackend kecuali bahwa itu menolak pengguna tidak aktif karena user_can_authenticate() selalu mengembalikan True.

Ketika menggunakan backend, anda akan ingin menyesuaikan AuthenticationForm digunakan oleh tampilan login() dengan mengesampingkan metode confirm_login_allowed() ketika itu menolak pengguna tidak aktif.

class RemoteUserBackendLink to this definition

Use this backend to take advantage of external-to-Django-handled authentication. It authenticates using usernames passed in request.META['REMOTE_USER']. See the Authenticating against REMOTE_USER documentation.

Jika anda butuh lebih kendali, anda dapat membuat backend autentifikasi sendiri yang mewarisi dari kelas ini dan mengesampingkan atribut ini atau metode:

RemoteUserBackend.create_unknown_userLink to this definition

True atau False. Menentukan apakah atau tidak obyek pengguna dibuat jika belum di basisdata Awalan menjadi True.

RemoteUserBackend.authenticate(remote_user)Link to this definition

The username passed as remote_user is considered trusted. This method simply returns the user object with the given username, creating a new user object if create_unknown_user is True.

Mengembalikan None jika create_unknown_user adalah False dan obyek User dengan nama pengguna yang diberikan tidak ditemukan dalam basisdata.

RemoteUserBackend.clean_username(username)Link to this definition

Melakukan pembersihan apapun pada username (sebagai contoh melucuti informasi LDAP DN) sebelum menggunakan itu untuk mendapatkan atau membuat sebuah obyek user. Mengembalikan nama pengguna dibersihkan.

RemoteUserBackend.configure_user(user)Link to this definition

Configures a newly created user. This method is called immediately after a new user is created, and can be used to perform custom setup actions, such as setting the user's groups based on attributes in an LDAP directory. Returns the user object.

RemoteUserBackend.user_can_authenticate()Link to this definition

Mengembalikan apaka pengguna diizinkan untuk autentifikasi. Metode ini mengembalikan False untuk pengguna dengan is_active=False. Penyesuaian model user yang tidak mempunyai sebuah bidang is_active adalah diizinkan.

class AllowAllUsersRemoteUserBackendLink to this definition

Sama seperti RemoteUserBackend kecuali bahwa itu menolak pengguna tidak aktif karena user_can_authenticate() selalu mengembalikan True.

Utility functionsLink to this heading

get_user(request)Link to this definition

Mengembalikan instance model user terhubung dengan sesi request diberikan

It checks if the authentication backend stored in the session is present in AUTHENTICATION_BACKENDS. If so, it uses the backend's get_user() method to retrieve the user model instance and then verifies the session by calling the user model's get_session_auth_hash() method.

Returns an instance of AnonymousUser if the authentication backend stored in the session is no longer in AUTHENTICATION_BACKENDS, if a user isn't returned by the backend's get_user() method, or if the session auth hash doesn't validate.