request.user 物件就是django中的user表模型
以下使用的都是django自帶的user表
乙個登入註冊流程
以下都是偽**
建立乙個form
from django import forms
from django.contirb import auth
class checkloginform(forms.form):
"""required 該欄位是否必須
"""username=forms.charfield(required=true,max_length=12,min_length=6,
error_messages=)
password=forms.charfield(required=true,max_length=12,min_length=6,
error_messages=)
def clean(self):
判斷使用者名稱是否存在
try:
user.objects.get(username=self.clean_data.get('username'))
except:
# 裡面的username就是你的使用者輸入的那個input的提示資訊
raise validationerror()
密碼校驗-使用django自帶的
user=auth.authenticate(username=self.clean_data.get('username'),
password=self.clean_data.get('password'))
if not user:
raise validationerror()
self.clean_data['user']=user
return self.clean_data # self.clean_data 驗證成功返回的驗證資料
登入:def login(request)
if request.method=='post':
登入資料校驗 老辦法
username=request.post.get('username')
password=request.post.get('password')
........... # 然後進行一堆資料合法校驗性的操作
新辦法 不用寫那麼多if 使**功能邏輯分割更清晰
form=checkloginform(request.post) # 把post資料穿進去 返回乙個物件
# is_valid()返回true or false is_valid就是資料校驗可以理解為呼叫checkloginform的clean函式
if form.is_valid():
登入成功
# 這一步操作 --request.user=user---request.session['user_id']=改使用者在user表中的id
auth.login(self.clean_data.get('user'))
return render(request,'index.html') # render精華皆在request
def logout(request):
auth.logout(request)
make_password(password) 密碼加密
check_password(old_password,new_password) 校驗密碼是否相等
關於Django auth註冊登入模組的具體使用
1 from django.urls import path 2from import views 34 urlpatterns 5 主頁,用來顯示類別等其他資料 6 path views.index 7 登入8 path tologin views.tologin 9 註冊10 path regi...
Pam認證模組
pam 認證模組 pam 做認證的,nss 做使用者 像ldap lib64 security 所有pam模組都在這裡存放著。64位系統便是在 lib64存放著 etc pam.d pam服務的配置檔案。模組呼叫必須放在 lib64 security 這個目錄下。每個模組有 4個功能的認證 auth...
Shiro 認證模組
僅供參考。認證模組 該模組的核心物件是認證器authenticator,其唯一功能是完成token的認證。故authenticator介面中只定義了乙個方法 基於提交的token進行認證 authenticationinfo authenticate authenticationtoken auth...