django後台許可權管理(基於角色控制管理)

2022-09-18 02:33:35 字數 1566 閱讀 3478

元件原始碼:

#### 使用自定義rbac許可權元件

1. 拷貝rbac元件

2. 清空migration目錄

3. 在setting註冊rbac

```python

'rbac

', #

django 2.0以上

```4. 資料庫遷移錄入資訊

5. 建立超級管理,新增許可權資訊(元件admin.py已經定製化)

6. 使用者登入後做許可權和選單的初始化 `init_permission`

```python

from web import

models

from rbac import

models

#呼叫自定義許可權和選單元件

from rbac.service.init_permission import

init_permission

deflogin(request):

'''登入**,成功後呼叫init_permission傳入request、登入使用者資訊(obj)

'''if request.method == '

get'

:

return render(request,'

login.html')

name=request.post.get('

name')

pwd=request.post.get('

pwd'

) obj = models.userinfo.objects.filter(name=name,password=pwd).first()

ifnot

obj:

return render(request,'

login.html

',) request.session[

'user_info

'] =

init_permission(request,obj)

return redirect('

/customer/list/')

```7. 應用中介軟體,進行許可權校驗

```python

'rbac.middleware.rbac.rbacmiddleware

'```

8. 設定setting配置檔案

```python

#############許可權相關#######################

permission_session_key = '

permissions_list

'menu_session_key = '

menu_list'#

白名單 valid_url =[

'^/login/$',

'^/admin/.*',

]```

9. 顯示動態選單(引入靜態檔案)、在選單欄 `+`、最上方匯入``

10. 粒度控制到按鈕

1. ```python

#加在需要控制的按鈕上

"">增加

```2.

基於Python搭建Django後台管理系統

django admin startproject helloworld 進入該專案 cd helloworld 建立乙個子專案 生成站點 sites model,這兩步驟第一篇有介紹,這裡就直接操作了 python manage.py createsuperuser這步很關鍵,你每次修改model...

基於Python搭建Django後台管理系統

一 部落格 的建立 之後,我們執行一下專案,輸入 看一下效果 三 資料庫後台搭建 到登入頁基本完成一半啦,接下來就需要建立乙個管理員賬戶用於登入使用,3.將model新增到sites admin.py裡 4.執行一下專案,開啟管理介面,檢視效果,然後你就看隨意新增article內容啦 六 踩坑總結 ...

基於RABC許可權管理的後台管理專案新許可權的設計思想

說到許可權很多人都會想到rbac,acl等等,這些方案都是十分成熟的許可權管理方案,最早寫php用yii2框架的時候,就自帶了rbac許可權管理,也對rbac比較熟悉,但今天想說的不僅僅侷限於路由許可權。關於rbac許可權管理gg可以出一堆文章,基於角色的訪問控制,把一堆路由分配給乙個角色,然後把一...