rbac outsourced

This commit is contained in:
2026-04-26 07:39:30 +00:00
parent 3081b7a29d
commit fa96ed5976
5 changed files with 203 additions and 95 deletions

View File

@@ -98,6 +98,7 @@ const server = https.createServer(httpsOptions, app);
let AuthenticationManager = require(`@services/authenticationManager.js`);
let ActiveDirectory = require(`@services/activeDirectoryManager.js`);
let VaultifyManager = require(`@services/vaultifyManager.js`);
let RBACManager = require(`@services/rbacManager.js`);
service.set('socketManager', new SocketManager(io));
await service.get('socketManager').addAsync('/');
@@ -133,7 +134,9 @@ const server = https.createServer(httpsOptions, app);
databaseModel.set('permissionModel', require(`@models/permissionModel`)(service.get('sqlManager').getInstance('main')));
databaseModel.set('roleModel', require(`@models/roleModel`)(service.get('sqlManager').getInstance('main')));
databaseModel.set('rolePermissionsModel', require(`@models/rolePermissionsModel`)(service.get('sqlManager').getInstance('main')));
service.set('authenticationManager', new AuthenticationManager(databaseModel.get('authentication'), app.locals.configuration.integration.token.secret, databaseModel));
service.set('rbacManager', new RBACManager(databaseModel));
service.set('activeDirectoryManager', new ActiveDirectory(app.locals.configuration.integration.activedirectory))
@@ -210,6 +213,7 @@ const server = https.createServer(httpsOptions, app);
service.get('eventManager').write(null, plugin.levelId, null, `${plugin.pluginName} v${plugin.metadata.version} ${plugin.message}`);
});
//#region Menu-Generator
app.use(async (req, res, next) => {
next();
@@ -223,6 +227,8 @@ const server = https.createServer(httpsOptions, app);
require(`${app.locals.path.source}/routes/adminRoutes.js`).route(app, service); // #3 - token security always enabled
//#endregion
app.use(service.get('authenticationManager').authenticate());
app.use(service.get('authenticationManager').requirePermissionMiddleware());
//#region Implements sockets
require(`${app.locals.path.source}/sockets/mainSocket.js`)(