TBeCbPermissionMigrationSubController
TBeCbPermissionMigrationSubController
Sammlung von Funktionen zur Migration von der alten Berechtigungs-Logik nach RABAC.
HINWEIS: Diese Klasse kann nicht im Codeblock erzeugt werden. Jedoch ist eine Instanz dieser Klasse in der Klasse TBeCbPermissionController vorhanden.
ACHTUNG: Diese Klasse dient nur für die Migration und wird ab einer bestimmten Master-Version wieder entfernt werden!
Eigenschaften
Funktionen und Methoden | |
CbReset() | Setzt RABAB zurück/Löscht alle RABAC-Daten. |
CbPreprocessDabMSK():L | Prüft ob die Datensätze in der DabMSK migrierbar sind. |
CbPreprocessDabPWD():L | Prüft ob die Datensätze in der DabPWD migrierbar sind. |
CbCleanupDabMSK() | Löscht alle nicht migrierbaren Datensätze in der DabMSK. |
CbCleanupDabPWD() | Löscht alle nicht migrierbaren Datensätze in der DabPWD. |
CbCleanupPermissionRoles() | Löscht alle überflüssigen Rollen, d.h. Rollen, für die keine Berechtigungen existieren. |
CbMigrateUsers() | Migriert die Benutzer |
CbMigrateMasks() | Migriert designbare Formulare/Masken. |
CbMigratePermissions() | Migriert alle weiteren Berechtigungen (z.B. Für Formular-Actions und Modul-Logins) |
Beispiel
|
cLogFileName, oPermissionController,
bReset, bPreprocess, bCleanup,
bMigrate, bMigrateUsers, bMigrateMasks, bMigratePermissions
|
bReset := True,
bPreprocess := True,
bCleanup := False,
bMigrate := True,
bMigrateUsers := True,
bMigrateMasks := True,
bMigratePermissions := True,
//******************************************************************************
// Log-Funktion
//******************************************************************************
function Log(cMessage)
ProcessMsg(),
WriteLn(cMessage),
RABAC_Log(cLogFileName, cMessage),
ProcessMsg(),
end,
cLogFileName := 'C:\be_debug\rabac_migration.log',
oPermissionController := CreateObject('TBeCbPermissionController'),
startseq
oPermissionController.CbLogFileName := cLogFileName,
// --------------------------------------------------------------------------
if bReset then
Log('Resetting RABAC Data ...'),
oPermissionController.CbMigration.CbReset(),
endif,
// --------------------------------------------------------------------------
if bPreprocess then
if oPermissionController.CbMigration.CbPreprocessDabMSK() then
Log('Preprocess DabMSK: OK'),
else
Log('Preprocess DabMSK: FAILED'),
bMigrate := False,
if bCleanup then
oPermissionController.CbMigration.CbCleanupDabMSK(),
endif,
endif,
if oPermissionController.CbMigration.CbPreprocessDabPWD() then
Log('Preprocess DabPWD: OK'),
else
Log('Preprocess DabPWD: FAILED'),
bMigrate := False,
if bCleanup then
oPermissionController.CbMigration.CbCleanupDabPWD(),
endif,
endif,
endif,
// --------------------------------------------------------------------------
if bMigrate and
(bMigrateUsers or bMigrateMasks or bMigratePermissions) then
Log('Running Migration ...'),
if bMigrateUsers then
Log('Migration: Users'),
oPermissionController.CbMigration.CbMigrateUsers(),
endif,
if bMigrateMasks then
Log('Migration: Masks'),
oPermissionController.CbMigration.CbMigrateMasks(),
endif,
if bMigratePermissions then
Log('Migration: Permissions'),
oPermissionController.CbMigration.CbMigratePermissions(),
endif,
Log('Migration: DONE'),
Log('Running CleanupPermissionRoles'),
oPermissionController.CbMigration.CbCleanupPermissionRoles(),
Log('CleanupPermissionRoles: DONE'),
else
Log('Skipping Migration ...'),
endif,
always
DestroyObject(oPermissionController),
stopseq,