Django-使用者模組與許可權系統相關
阿新 • • 發佈:2018-11-23
Django的使用者模組與許可權系統
Django的使用者系統都提供哪些功能:
- 提供使用者模組(User Model)
- 許可權驗證(預設新增已有模組的增加刪除修改許可權)
- 使用者組與組許可權功能
- 使用者鑑權與登入功能
- 與使用者登入驗證相關的一些函式與裝飾方法
1、登入
# some_view.py from django.contrib.auth import authenticate, login def login(request): username = request.POST['username'] password= request.POST['password'] # Django提供的authenticate函式,驗證使用者名稱和密碼是否在資料庫中匹配 user = authenticate(username=username, password=password) if user is not None: # Django提供的login函式,將當前登入使用者資訊儲存到會話key中 login(request, user) # 進行登入成功的操作,重定向到某處等 ...else: # 返回使用者名稱和密碼錯誤資訊
2.登出
from django.contrib.auth import logout def logout(request): # logout函式會清除當前使用者儲存在會話中的資訊 logout(request)
3.驗證是否登入
def some_fuction(request): user = request.user if user.is_authenticated: # 已登入使用者,可以往下進行操作 else:# 返回要求登入資訊
4.驗證是否有許可權
def some_fuction(request): user = request.user if user.has_perm('myapp.change_bar'): # 有許可權,可以往下進行操作 else: # 返回禁止訪問等資訊