rest_framework =8、自定義許可權類
參考:1) 建立繼承basepermission的許可權類
2) 實現has_permission方法
3) 實現體根據許可權規則 確定有無許可權
4) 進行全域性或區域性配置
認證規則
i.滿足設定的使用者條件,代表有許可權,返回true
ii.不滿足設定的使用者條件,代表有許可權,返回false
"""```
9、自定義許可權例項 # utils/permissions.py
from rest_framework.permissions import basepermission
from django.contrib.auth.models import group
class mypermission(basepermission):
def has_permission(self, request, view):
# 唯讀介面判斷
r1 = request.method in ('get', 'head', 'options')
# group為有許可權的分組
group = group.objects.filter(name='管理員').first()
# groups為當前使用者所屬的所有分組
groups = request.user.groups.all()
r2 = group and groups
r3 = group in groups
# 讀介面大家都有許可權,寫介面必須為指定分組下的登陸使用者
return r1 or (r2 and r3)
# 遊客唯讀,登入使用者唯讀,只有登入使用者屬於 管理員 分組,才可以增刪改
from utils.permissions import mypermission
class testadminorreadonlyapiview(apiview):
permission_classes = [mypermission]
# 所有使用者都可以訪問
def get(self, request, *args, **kwargs):
return apiresponse(0, '自定義讀 ok')
# 必須是 自定義「管理員」分組 下的使用者
def post(self, request, *args, **kwargs):
return apiresponse(0, '自定義寫 ok')
RESTful架構與RESTful API設計
rest這個詞是roy thomas fielding博士在他2000年的博士 中提出的,fielding將他對網際網路軟體的架構原則定名為rest,即representational state transfer的縮寫,翻譯為 表現層狀態轉化 如果乙個架構符合rest原則,就稱它為restful架...
Restful API的設計與實踐
restful是一種軟體架構風格,設計風格而不是標準,只是提供了一組設計原則和約束條件。它主要用於客戶端和伺服器互動類的軟體。基於這個風格設計的軟體可以更簡潔,更有層次,更易於實現快取等機制。restful這個名稱應該很多人都不陌生,但是我發現不少人對restful存在或多或少的理解偏差。為了更好的...
授權驗證,驗證碼工作方式
函 數 授權驗證,驗證碼工作方式 輸出引數 0 合法,1 期限已過,2 帳號無效 算 法 1 demo帳號只有時間限制 2 real帳號則有雙重限制 int lxverifycode if stringlen string npt password 8 輸入驗證碼小於8位 if stringlen ...