前言
創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè)|網(wǎng)站維護(hù)|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋成都封陽臺等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身開發(fā)品質(zhì)網(wǎng)站。Django自帶一個(gè)用戶認(rèn)證系統(tǒng),用于處理用戶賬戶、群組、許可和基于cookie的用戶會(huì)話。
Django的認(rèn)證系統(tǒng)包含了身份驗(yàn)證和權(quán)限管理兩部分。簡單地說,身份驗(yàn)證用于核實(shí)某個(gè)用戶是否合法,權(quán)限管理則是決定一個(gè)合法用戶具有哪些權(quán)限。往后,‘認(rèn)證'這個(gè)詞同時(shí)代指上面兩部分的含義。
Django的認(rèn)證系統(tǒng)主要包括下面幾個(gè)部分:
類似下面的問題,不是Django認(rèn)證系統(tǒng)的業(yè)務(wù)范圍,請使用第三方工具:
默認(rèn)情況下,使用django-admin startproject命令后,認(rèn)證相關(guān)的模塊已經(jīng)自動(dòng)添加到settings文件內(nèi)了,如果沒有的話,請手動(dòng)添加。
在INSTALLED_APPS配置項(xiàng)中添加:
在MIDDLEWARE配置項(xiàng)中添加:
當(dāng)配置正確后,運(yùn)行manage.py migrate命令,創(chuàng)建用戶認(rèn)證系統(tǒng)相關(guān)的數(shù)據(jù)庫表以及分配預(yù)定義的權(quán)限。
一、用戶對象
用戶對象是Django認(rèn)證系統(tǒng)的核心!在Django的認(rèn)證框架中只有一個(gè)用戶模型也就是User模型,它位于django.contrib.auth.models。
本節(jié)內(nèi)容敘述的所有功能,都是基于這個(gè)User模型的,和這個(gè)User模型沒有任何關(guān)系的自定義用戶模型是無法使用Django認(rèn)證系統(tǒng)的功能的!
用戶模型主要有下面幾個(gè)字段:
1. 創(chuàng)建用戶
要?jiǎng)?chuàng)建一個(gè)新用戶,最直接的辦法是使用create_user()方法:
>>> from django.contrib.auth.models import User >>> user = User.objects.create_user('john', 'lennon@thebeatles.com', 'johnpassword') # 這時(shí),user是一個(gè)User類的實(shí)例,已經(jīng)保存在了數(shù)據(jù)庫內(nèi),你可以隨時(shí)修改它的屬性,例如: >>> user.last_name = 'Lennon' >>> user.save()