最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django如何實(shí)現(xiàn)RBAC權(quán)限管理

 更新時間:2022年12月20日 14:39:58   作者:xiaodong_blogs  
這篇文章主要介紹了Django如何實(shí)現(xiàn)RBAC權(quán)限管理問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Django RBAC權(quán)限管理

概述

RBAC(Role-Based Access Control,基于角色的訪問控制),通過角色綁定權(quán)限,然后給用戶劃分角色。

比如說:

  • 一個用戶擁有若干個角色,這個角色呢又擁有若干個權(quán)限,CEO,具有公司全局的權(quán)限;
  • 部門經(jīng)理,具有部門全局的權(quán)限;
  • 部門主管,具有部門部分的權(quán)限;
  • 普通員工,具有部門一小部分權(quán)限。

不同的角色,能夠獲取的權(quán)限是不同的,角色的引入,讓權(quán)限管理就會非常的靈活

流程圖

models.py

資源表和角色表是多對多關(guān)系

from django.db import models

# Create your models here.
# 角色表
class Roles(models.Model):
    name = models.CharField(max_length=50)
    status = models.BooleanField(default=True)


    class Meta:
        db_table='roles'


# 管理員表
class Admin_user(models.Model):
    username = models.CharField(max_length=50,verbose_name='用戶名')
    password = models.CharField(max_length=200,verbose_name='密碼')
    pic = models.CharField(max_length=200,default='',verbose_name='頭像')
    status = models.BooleanField(default=True,verbose_name='狀態(tài)')  # 狀態(tài)
    supper = models.BooleanField(default=False,verbose_name='是否為超級管理員') # 是否為超級管理員
    role = models.ForeignKey(Roles,on_delete=models.CASCADE)


    class Meta:
        db_table='admin_user'


# 資源表
class Resource(models.Model):
    name = models.CharField(max_length=50)
    status = models.BooleanField(default=True)
    url = models.CharField(max_length=50,default='')
    level = models.IntegerField()
    pid = models.ForeignKey('self',on_delete=models.SET_NULL,null=True,blank=True,related_name='subs')
    roles = models.ManyToManyField(Roles,related_name='resources',null=True,blank=True)


    class Meta:
        db_table='resource'

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python繪制分類圖的方法

    Python繪制分類圖的方法

    這篇文章主要為大家詳細(xì)介紹了Python繪制分類圖的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • 使用Python實(shí)現(xiàn)壓縮pptx的功能

    使用Python實(shí)現(xiàn)壓縮pptx的功能

    當(dāng)處理大型PPTX文件時,其中包含許多高分辨率照片時,文件大小可能會顯著增加,為了解決這個問題,我們可以使用Python編程語言和python-pptx庫來壓縮PPTX文件中的照片,下面我們就來看看具體操作吧
    2024-02-02
  • python實(shí)現(xiàn)最小二乘法線性擬合

    python實(shí)現(xiàn)最小二乘法線性擬合

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)最小二乘法線性擬合,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 解決python報錯ImportError:urllib3?v2.0?only?supports?OpenSSL?1.1.1+

    解決python報錯ImportError:urllib3?v2.0?only?supports?OpenSSL

    這篇文章主要介紹了解決python報錯ImportError:urllib3?v2.0?only?supports?OpenSSL?1.1.1+的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • python中的opencv和PIL(pillow)轉(zhuǎn)化操作

    python中的opencv和PIL(pillow)轉(zhuǎn)化操作

    這篇文章主要介紹了python中的opencv和PIL(pillow)轉(zhuǎn)化操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python3 kubernetes api的使用示例

    python3 kubernetes api的使用示例

    這篇文章主要介紹了python3 kubernetes api的使用示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • python制作定時發(fā)送信息腳本的實(shí)現(xiàn)思路

    python制作定時發(fā)送信息腳本的實(shí)現(xiàn)思路

    這篇文章主要介紹了python實(shí)現(xiàn)企業(yè)微信定時發(fā)送文本消息的實(shí)例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Flask框架學(xué)習(xí)筆記之使用Flask實(shí)現(xiàn)表單開發(fā)詳解

    Flask框架學(xué)習(xí)筆記之使用Flask實(shí)現(xiàn)表單開發(fā)詳解

    這篇文章主要介紹了Flask框架學(xué)習(xí)筆記之使用Flask實(shí)現(xiàn)表單開發(fā),結(jié)合實(shí)例形式較為詳細(xì)的分析了flask框架表單模板定義、數(shù)據(jù)提交等相關(guān)操作技巧,需要的朋友可以參考下
    2019-08-08
  • Pycharm保存不能自動同步到遠(yuǎn)程服務(wù)器的解決方法

    Pycharm保存不能自動同步到遠(yuǎn)程服務(wù)器的解決方法

    今天小編就為大家分享一篇Pycharm保存不能自動同步到遠(yuǎn)程服務(wù)器的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python異常信息的不同展現(xiàn)方法總結(jié)

    Python異常信息的不同展現(xiàn)方法總結(jié)

    在日常開發(fā)的過程中,當(dāng)代碼報錯時,我們通常要不斷打印、閱讀traceback提示信息,來調(diào)試代碼,這篇文章介紹了如何實(shí)現(xiàn)一個Exception?Hooks,使得traceback模塊的提示信息更加精確;同時還介紹了一些第三方庫,這些庫也提供了Exception?Hooks的功能
    2022-11-11

最新評論

阳泉市| 兰坪| 特克斯县| 固原市| 榆树市| 凤山市| 马尔康县| 大足县| 峡江县| 百色市| 金昌市| 永川市| 锦屏县| 曲松县| 锦州市| 白银市| 白朗县| 崇左市| 鄂尔多斯市| 睢宁县| 中山市| 鄂尔多斯市| 黑水县| 金溪县| 盐边县| 额敏县| 安义县| 大邑县| 开平市| 荔浦县| 长泰县| 西乡县| 安塞县| 翼城县| 高阳县| 河北区| 茂名市| 丰原市| 永嘉县| 淅川县| 新安县|