rbac元件之資料庫設計(一)

2022-06-19 01:00:16 字數 2059 閱讀 1938

rbac是基於角色的許可權設計,一共包含六張表,具體的表設計如下:

from django.db import

models

class

menu(models.model):

"""選單表

"""title = models.charfield(verbose_name='

選單名稱

',max_length=32,unique=true)

icon = models.charfield(max_length=128, blank=true, null=true)

def__str__

(self):

return

self.title

class

permission(models.model):

"""許可權表

"""title = models.charfield(verbose_name='

許可權標題

', max_length=32)

url = models.charfield(verbose_name='

含正則的url

', max_length=128)

name=models.charfield(verbose_name='

url別名

',max_length=64,unique=true) #

控制許可權到按鈕

parent=models.foreignkey(verbose_name='

父許可權',to='

self

',null=true,blank=true,on_delete=models.cascade,limit_choices_to=)#

構建非選單許可權關係,選單預設展開

menu=models.foreignkey(verbose_name='

選單',to='

menu

',null=true,blank=true,on_delete=models.cascade)

def__str__

(self):

return

self.title

class

role(models.model):

"""角色

"""title = models.charfield(verbose_name='

角色名稱

', max_length=32)

permissions = models.manytomanyfield(verbose_name='

擁有的所有許可權

', to='

permission

', blank=true)

def__str__

(self):

return

self.title

class

userinfo(models.model):

"""使用者表

"""username = models.charfield(verbose_name='

使用者名稱', max_length=32)

password = models.charfield(verbose_name='

密碼', max_length=64)

email = models.charfield(verbose_name='

郵箱', max_length=32)

roles = models.manytomanyfield(verbose_name='

擁有的所有角色

', to=role, blank=true)

class

meta:

abstract=true #

為了crm的使用者表進行繼承

def__str__

(self):

return self.username

其中使用者表和角色表是多對多的關係、角色表和許可權表是多對多的關係。另外許可權表關聯選單,這樣某乙個許可權url掛載某乙個選單下,並且許可權表關聯自身,這樣比如增加、刪除、修改的許可權url又可以掛在某乙個許可權url下面。

RBAC使用者許可權管理資料庫設計

rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...

RBAC使用者許可權管理資料庫設計

rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...

RBAC使用者許可權管理資料庫設計

rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...