Django Auth用戶認(rèn)證組件實(shí)現(xiàn)代碼
用戶認(rèn)證組件:
功能:用session記錄登錄驗(yàn)證狀態(tài)
前提:用戶表:django自帶的auth-user
python3 manage.py createsuperuser #創(chuàng)建超級(jí)用戶
補(bǔ)充匿名用戶:
API: from django.contrib import auth : 1. #if 驗(yàn)證成功返回user對(duì)象,否則返回None user = auth.authenticate(username=user,password=pwd) 2. auth.login(request,user) #request.user 當(dāng)前登錄對(duì)象 3. auth.login(request) from django.contrib.auth.models import User #User == auth_user 4. request.user.is_authenticated 5.user = User.objects.create_user(username=’’,password=’’,email=’’) 補(bǔ)充: 匿名用戶對(duì)象: 匿名用戶 class models.AnonymousUser django.contrib.auth.models.AnonymousUser #這個(gè)類實(shí)現(xiàn)了django.contrib.auth.models.User 借口,但是又幾點(diǎn)不同: id永遠(yuǎn)是None username永遠(yuǎn)為空字符串 get_username()永遠(yuǎn)返回空字符串 is_staff和is_superuser永遠(yuǎn)是False is_active永遠(yuǎn)是False groups和user_permissions永遠(yuǎn)為空 is_annonymous()返回True 而不是False is_authenticated()返回時(shí)False,而不是True set_password()、check_password()、save()和delete()引發(fā)NotImplementedError。 New in Django 1.8: 新增 AnonymouseUser.get_username()以更好的模擬django.contrib.auth.moudels.User總結(jié):if not :auth.login(request,user)request.user = AnonymousUser()else:request.user==登錄對(duì)象request.user是一個(gè)全局變量
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 輕松學(xué)習(xí)XML教程2. xpath簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理3. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))4. jsp EL表達(dá)式詳解5. .NET SkiaSharp 生成二維碼驗(yàn)證碼及指定區(qū)域截取方法實(shí)現(xiàn)6. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法7. css代碼優(yōu)化的12個(gè)技巧8. jsp cookie+session實(shí)現(xiàn)簡(jiǎn)易自動(dòng)登錄9. jsp實(shí)現(xiàn)登錄驗(yàn)證的過濾器10. 解析原生JS getComputedStyle
