Django設定許可權

2021-10-09 16:21:40 字數 1554 閱讀 6916

django1.9

使用django內建的許可權驗證機制。

內建許可權表名

auth_permissions

# models.py

from django.db import models

class

student

(models.model):.

..class

meta:.

..# 內建許可權

default_permissions =

('add',)

# 自定義許可權

permissions =((

'view_student'

,'can view student'),

)

default_permissions

預設為('add', 'change', 'delete')。你可以自定義這個列表,例如,如果你的應用程式不需要任何預設許可權,你可以將這個列表設定為空列表。在遷移建立模型之前,必須在模型上指定它,以防止建立任何省略的許可權。

例:add

將會在auth_permissin表中新建一條許可權資料,name欄位為can add studentcodename欄位為add_student

permissions

permissions =((

'view_student'

,'can view student'),

)

permission_required

使用permission_required裝飾器驗證許可權

# views.py

from django.contrib.auth.decorators import permission_required

@permission_required(

, login_url=

'/')

defstudents

(request)

:'''檢視使用者列表'''

return render(request,

'students.html'

)

has_perm

使用user物件的has_perm方法判斷,返回true/false。

# views.py

defstudents

(request)

:'''檢視學生列表'''

user = request.user

if user.has_perm()==

true

:return render(request,

'students.html'

)else

:pass

# todo

Django許可權設定及驗證方式

當建立乙個models,在同步到資料庫裡,django預設設定了三個許可權 就是 add,change,delete許可權nmxbhhli。但是往往有時候,根本不夠用,此時我們可以自己寫乙個指令碼,來進行許可權的設定.根據django官方文件解釋,許可權都是與models有關係的,此時.如果想設定乙...

django許可權認證

1 首先參考django官方文件,將admin模組搭建起來 2 一般我們設定了admin為管理員,但是管理員預設具備所有許可權,即使沒有顯式賦權。3 如何查詢使用者對應的許可權 from django.contrib.auth.models import user,permission user.o...

Django許可權組建

中介軟體rbac的 在這裡建立乙個中介軟體,在進入檢視以前判斷登入人員是否有許可權!得到當前訪問路徑 current path request.path info 製造一張白名單,檢查是否在白名單裡面 valid url list login reg admin for valid url in v...