元件原始碼:#### 使用自定義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可以出一堆文章,基於角色的訪問控制,把一堆路由分配給乙個角色,然後把一...