Files
Christoph Schwörer f045b99a25 Codebasis als Dateien ins Arbeitsrepo statt als Gitlink
QuellCode/CentronERP war nur als Gitlink (Submodul-Referenz auf 79c1142)
getrackt, ohne .gitmodules und ohne erreichbares Remote. Der
Untersuchungsgegenstand der Versuchsreihe war damit nicht reproduzierbar
gesichert: Ein Klon haette ein leeres Verzeichnis erhalten, und die Belege
der 3.287 Anforderungen waeren nicht ueberpruefbar gewesen.

Umstellung:
- Historie nach c:\DEV\CentronERP_git_snapshot_79c1142 ausgelagert
  (vollstaendig lesbar, enthaelt 79c1142 und Vorgaenger 89ccfd6)
- Gitlink aus dem Index entfernt
- Dateiinhalt aufgenommen: 24.557 Dateien, rund 333 MB

Die verschachtelte .gitignore der Codebasis gilt weiter, Build-Artefakte
bleiben ausgeschlossen. Details in Versuche/Versuch_01/_Codebasis-Nachweis.md
2026-08-26 07:43:51 +02:00

1.5 KiB

How to check user rights

Rights and groups can be managed in the Rechteverwaltung module.

The IDs for each user right can be found in UserRightsConst.cs. Always use these constants instead of the id itself.

In viewmodels (Centron.WPF.UI)

In viewmodels it's quite easy to check for user rights:

CentronCache.Instance.CurrentUserAppRights.Any(f => f.I3D == UserRightsConst.T);

For modules

Checking if an user has access to a module in ModuleRegistration.cs can be done via the first overload on:

ModuleRegistrationItem.For<TController>(() => Helper.HasRights(UserRightsConst.T))

In BL (Centron.BL)

To check out user rights in BLs simply call AppRightsBL.CheckRightsFromUser(currentUserI3D, your rightids) then check if the result contains the necessary right.

var checkRightsResult = new AppRightsBL(Session).CheckRightsFromUser(currentUserI3D, new List<int>
{
    UserRightsConst.Sales.Customer.CustomerCommon.CREATE_CUSTOMER,
    UserRightsConst.Sales.Customer.CustomerCommon.EDIT_CUSTOMER,
    UserRightsConst.Sales.Customer.CustomerCommon.DELETE_CUSTOMER,
    UserRightsConst.Sales.Customer.CustomerCommon.SEARCH_CUSTOMER,
    UserRightsConst.Sales.Customer.CustomerCommon.UNLOCK_CUSTOMER
});

Then check via:

if (checkRightsResult.Contains(UserRightsConst.Sales.Customer.CustomerCommon.CREATE_CUSTOMER) == false)
{
    return Result.AsError("Fehlende Rechte um Accounts zu erstellen");
}

(from AccountBL.cs)