技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁(yè) > 教程 > 服務(wù)器類 >

Django自定義認(rèn)證方式用法教程

來(lái)源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2019-10-26 06:03┆點(diǎn)擊:

首先創(chuàng)建一個(gè)新的login app,用來(lái)存放認(rèn)證用到代碼

python manage.py startapp login

修改settings.py中的認(rèn)證項(xiàng)

AUTHENTICATION_BACKENDS = ( 'login.auth.UsernamePasswordAuth', )

自定義認(rèn)證類

在login app下創(chuàng)建auth.py文件,內(nèi)容如下

#coding:utf-8 from django.contrib.auth.models import User class UsernamePasswordAuth(object): def authenticate(self, username=None, password=None): print("UsernamePasswordAuth.authenticate") try: user = User.objects.get(username__iexact=username) if user.check_password(password): return user except User.DoesNotExist: return None def get_user(self, user_id): print("UsernamePasswordAuth.get_user") try: user = User.objects.get(pk=user_id) return user except User.DoesNotExist: return None