1. 程式人生 > >Django-使用者模組與許可權系統相關

Django-使用者模組與許可權系統相關

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:
        # 返回禁止訪問等資訊