Django自定义认证方式用法示例
本文实例讲述了Django自定义认证方式。分享给大家供大家参考,具体如下:
创建登录应用
首先创建一个新的loginapp,用来存放认证用到代码
pythonmanage.pystartapplogin
修改settings.py中的认证项
AUTHENTICATION_BACKENDS=( 'login.auth.UsernamePasswordAuth', )
自定义认证类
在loginapp下创建auth.py文件,内容如下
#coding:utf-8
fromdjango.contrib.auth.modelsimportUser
classUsernamePasswordAuth(object):
defauthenticate(self,username=None,password=None):
print("UsernamePasswordAuth.authenticate")
try:
user=User.objects.get(username__iexact=username)
ifuser.check_password(password):
returnuser
exceptUser.DoesNotExist:
returnNone
defget_user(self,user_id):
print("UsernamePasswordAuth.get_user")
try:
user=User.objects.get(pk=user_id)
returnuser
exceptUser.DoesNotExist:
returnNone
更多关于Python相关内容感兴趣的读者可查看本站专题:《PythonSocket编程技巧总结》、《PythonURL操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。