欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2022年12月20日 14:39:58   作者:xiaodong_blogs  
這篇文章主要介紹了Django如何實現(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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python基于pygame實現(xiàn)單機版五子棋對戰(zhàn)

    Python基于pygame實現(xiàn)單機版五子棋對戰(zhàn)

    這篇文章主要為大家詳細(xì)介紹了Python基于pygame實現(xiàn)單機版五子棋對戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • python 獲取sqlite3數(shù)據(jù)庫的表名和表字段名的實例

    python 獲取sqlite3數(shù)據(jù)庫的表名和表字段名的實例

    今天小編就為大家分享一篇python 獲取sqlite3數(shù)據(jù)庫的表名和表字段名的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python神經(jīng)網(wǎng)絡(luò)使用Keras構(gòu)建RNN訓(xùn)練

    python神經(jīng)網(wǎng)絡(luò)使用Keras構(gòu)建RNN訓(xùn)練

    這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)使用Keras構(gòu)建RNN網(wǎng)絡(luò)訓(xùn)練,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>
    2022-05-05
  • Python數(shù)據(jù)分析之使用matplotlib繪制折線圖、柱狀圖和柱線混合圖

    Python數(shù)據(jù)分析之使用matplotlib繪制折線圖、柱狀圖和柱線混合圖

    matplotlib是python的一個模塊,用于繪制各種圖形,今天介紹一下折線圖的繪制,下面這篇文章主要給大家介紹了關(guān)于Python數(shù)據(jù)分析之使用matplotlib繪制折線圖、柱狀圖和柱線混合圖的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Python中常見的KeyError報錯分析

    Python中常見的KeyError報錯分析

    在Python編程中,KeyError是一種非常常見的異常,它通常發(fā)生在嘗試訪問字典中不存在的鍵時,本文將深入探討KeyError的報錯原因、解決辦法,并通過代碼示例來演示如何避免這一錯誤,需要的朋友可以參考下
    2024-07-07
  • pytorch DataLoader的num_workers參數(shù)與設(shè)置大小詳解

    pytorch DataLoader的num_workers參數(shù)與設(shè)置大小詳解

    這篇文章主要介紹了pytorch DataLoader的num_workers參數(shù)與設(shè)置大小詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python數(shù)組復(fù)制拷貝的實現(xiàn)方法

    python數(shù)組復(fù)制拷貝的實現(xiàn)方法

    這篇文章主要介紹了python數(shù)組復(fù)制拷貝的實現(xiàn)方法,實例分析了Python數(shù)組傳地址與傳值兩種復(fù)制拷貝的使用技巧,需要的朋友可以參考下
    2015-06-06
  • python爬蟲獲取百度首頁內(nèi)容教學(xué)

    python爬蟲獲取百度首頁內(nèi)容教學(xué)

    在本篇內(nèi)容里小編給大家分享了關(guān)于python爬蟲獲取百度首頁內(nèi)容教學(xué),需要的朋友們可以跟著學(xué)習(xí)下。
    2018-12-12
  • Python中l(wèi)ogger日志模塊詳解

    Python中l(wèi)ogger日志模塊詳解

    這篇文章主要介紹了Python中l(wèi)ogger日志模塊詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Python裝飾器實現(xiàn)方法及應(yīng)用場景詳解

    Python裝飾器實現(xiàn)方法及應(yīng)用場景詳解

    這篇文章主要介紹了Python裝飾器實現(xiàn)方法及應(yīng)用場景詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03

最新評論