通過(guò)設(shè)置session,保存用戶(hù)的登陸信息,實(shí)現(xiàn)判斷用戶(hù)是否已經(jīng)登陸,是否合法訪問(wèn),并把數(shù)據(jù)記錄寫(xiě)到數(shù)據(jù)庫(kù)中,以作保存。
成都創(chuàng)新互聯(lián)公司科技有限公司專(zhuān)業(yè)互聯(lián)網(wǎng)基礎(chǔ)服務(wù)商,為您提供成都服務(wù)器托管,高防主機(jī),成都IDC機(jī)房托管,成都主機(jī)托管等互聯(lián)網(wǎng)服務(wù)。
class Login(View):
def get(self,request):
return render(request,"login.html")
def post(self,request):
user = request.POST.get("user")
pwd = request.POST.get("pwd")
ret = ldap_auth(user, pwd) # 調(diào)用ldap_auth函數(shù),判斷用戶(hù)輸入的用戶(hù)名和密碼是否正確,并根據(jù)返回的結(jié)果返回瀏覽器
if ret[0] == "Login successful":
rep = redirect("cmdb/home/")
request.session["is_login"] = "1" #設(shè)置"is_login"鍵值,正常登陸時(shí),值為1
request.session["user_name"] = user #設(shè)置"user_name"鍵值,保存登陸的用戶(hù)名
request.session["user_title"] = ret[5] #設(shè)置"user_title"鍵值,保存用戶(hù)的職位
return rep
else:
return render(request,"login.html")
class Loout(View):
def get(self,request):
request.session.flush() #把當(dāng)前用戶(hù)的session從瀏覽器刪除,同時(shí)刪除數(shù)據(jù)庫(kù)的session值
return render(request,"login.html")
1、只要在每個(gè)頁(yè)面或函數(shù)中,增加判斷“is_login"的session是否等于為1,用作判斷該用戶(hù)是否已經(jīng)登陸。