bugfix rbac

This commit is contained in:
2026-04-27 15:49:56 +02:00
parent 2ab69bda98
commit 5f494bb837
6 changed files with 93 additions and 90 deletions

View File

@@ -149,7 +149,7 @@ CREATE TABLE dbo.GroupClosure (
Depth INT,
PRIMARY KEY (ParentGroup_ObjectGUID, ChildGroup_ObjectGUID)
);
GO
/* =========================================================
RBAC
@@ -160,25 +160,28 @@ CREATE TABLE dbo.AuthenticationRoles (
Role_ID INT,
PRIMARY KEY (Authentication_ObjectGUID, Role_ID)
);
GO
CREATE TABLE dbo.AuthenticationGroups (
Authentication_ObjectGUID UNIQUEIDENTIFIER,
Group_ObjectGUID UNIQUEIDENTIFIER,
PRIMARY KEY (Authentication_ObjectGUID, Group_ObjectGUID)
);
GO
CREATE TABLE dbo.GroupRoles (
Group_ObjectGUID UNIQUEIDENTIFIER,
Role_ID INT,
PRIMARY KEY (Group_ObjectGUID, Role_ID)
);
GO
CREATE TABLE dbo.RolePermissions (
Role_ID INT,
Permission_ID INT,
PRIMARY KEY (Role_ID, Permission_ID)
);
GO
/* =========================================================
EVENT SYSTEM
@@ -215,6 +218,7 @@ CREATE TABLE dbo.NotifyTrayObjects (
CreatedAt DATETIME2,
ExpiresAt DATETIME2
);
GO
CREATE TABLE dbo.NotifyTray (
ID INT IDENTITY(1,1) PRIMARY KEY,
@@ -222,7 +226,7 @@ CREATE TABLE dbo.NotifyTray (
NotifyTrayObject_ID INT,
SeenAt DATETIME2
);
GO
/* =========================================================
SECURITY VIEWS
@@ -241,7 +245,7 @@ FROM dbo.Authentication a
JOIN dbo.AuthenticationGroups ag ON ag.Authentication_ObjectGUID = a.ObjectGUID
JOIN dbo.GroupRoles gr ON gr.Group_ObjectGUID = ag.Group_ObjectGUID
JOIN dbo.[Role] r ON r.ID = gr.Role_ID;
GO
CREATE VIEW dbo.vAuthenticationEffectivePermissions AS
SELECT DISTINCT
@@ -254,7 +258,7 @@ FROM dbo.Authentication a
JOIN dbo.vAuthenticationRoles r ON r.ObjectGUID = a.ObjectGUID
JOIN dbo.RolePermissions rp ON rp.Role_ID = r.Role_ID
JOIN dbo.Permission p ON p.ID = rp.Permission_ID;
GO
/* =========================================================
FIXED vEventLog (SEQUELIZE MATCH + SYSTEM FIX)
@@ -308,7 +312,7 @@ CREATE VIEW dbo.vAuthentications AS
SELECT a.*, os.Name AS ObjectSource
FROM dbo.Authentication a
LEFT JOIN dbo.ObjectSource os ON os.ID = a.ObjectSource_ID;
GO
/* =========================================================
GROUP VIEW
@@ -316,7 +320,7 @@ LEFT JOIN dbo.ObjectSource os ON os.ID = a.ObjectSource_ID;
CREATE VIEW dbo.vGroupHierarchy AS
SELECT * FROM dbo.GroupClosure;
GO
/* =========================================================
NOTIFY VIEWS