数据库计划 – 包括用户,脚色和权限的数据库模子
我有一个带有效户表和脚色表的数据库模子.我想节制最多10个差异元素的会见权限.可以将会见权限授予脚色或单个用户.
CREATE TABLE users ( id serial NOT NULL PRIMARY KEY,username character varying UNIQUE,password character varying,first_name character varying,last_name character varying,... ); CREATE TABLE roles ( id serial NOT NULL PRIMARY KEY,name character varying NOT NULL,description character varying,... ); CREATE TABLE element_1 ( id serial NOT NULL PRIMARY KEY,... ); ... 此刻我有两种差异的权力计划方法.一个表具有权限范例列或10个权限表 – 每个要节制会见权限的元素对应一个表. 每个元素的权限表与一个权限表的优弱点是什么? – 可能是更吻合的方法吗? 办理要领起首,您打算实验哪种范例的安详模子?基于脚色的会见节制(RBAC)或自主会见节制(DAC)?
see source 1)在RBAC中:您必要ElementType表来为脚色分派权限(用户被分派给脚色). RBAC界说:“这个脚色/用户可以做什么”.打点员为脚色分派权限和权限,将用户分派给脚色以会见资源. 无论怎样我提议这个数据模子: CREATE TABLE ElementType ( Id (PK) Name ... ) CREATE TABLE ElementBase ( Id (PK) Type (FK to ElementType) ... ) (一对一的相关) CREATE TABLE Element_A ( Id (PK,FK to ElementBase) ... ) CREATE TABLE Element_B ( Id (PK,FK to ElementBase) ... ) 1)RBAC(多对多相关) CREATE TABLE ElementType_To_Role_Rights ( RightId (PK) RoleId (FK to Role) ElementTypeId (FK to ElementType) ... ) 2)DAC(多对多相关) CREATE TABLE ElementBase_To_Actor_Rights ( RightId (PK) ElementBaseId (FK to ElementBase) ActorId (FK to Actor) ... ) CREATE TABLE Actor ( Id (PK) Name ) CREATE TABLE User ( Id (PK,FK to Actor) Password ... ) CREATE TABLE Role ( Id (PK,FK to Actor) ... ) (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |