CbUserHasRole()
CbUserHasRole() – Prüfen ob ein User einer bestimmten Benutzer-Rolle zugeordnet ist.
Diese Funktion prüft, ob ein bestimmter business express User einer bestimmten Benutzer-Rolle zugeordnet ist. Dabei berücksichtigt diese Funktion sowohl Abteilung als auch Standort spezifische Rollen-Zuordnungen.
Parameter | Beschreibung |
---|---|
cRoleKey:C | Schlüssel der zu prüfenden Rolle |
nUserNo:N | User-Nummer des zu prüfenden Users. |
nDepartmentNo:N | Nummer der Abteilung, die als Kontext für die Rollen-Zuordnung verwendet werden soll. |
nLocationNo:N | Nummer des Standorts, der als Kontext für die Rollen-Zuordnung verwendet werden soll. |
Rückgabewert
Logisch
Beispiel
//##############################################################################
//##############################################################################
// Beschreibung: Beispiel wie mithilfe der Funktion CbUserHasRole() geprüft
// werden kann, ob der Zugriff auf einen bestimmten Bereich oder
// eine bestimmte Funktionalität erlaubt ist.
//
// Rückage: boolean, Zugriff erlaubt/nicht erlaubt
//##############################################################################
//##############################################################################
| bAccess, cAdminRoleKey, nUserNo, cAdminPassword |
cAdminRoleKey := 'Zugriffe_Administration', // Prüfe Zuordnung diese Rolle ...
nUserNo := Val(c_usr), // ... und für aktuellen User
cAdminPassword := 'be32',
bAccess :=
// Prüfen, ob der User der Rolle in der aktuellen Abteilung
// zugeordnet ist. (Übergabe von mAbteilung ist optional!)
CbUserHasRole(cAdminRoleKey, nUserNo, mAbteilung)
or
// Falls die obere Bedingung nicht zutrifft,
// das gleiche für Abteilung 1 prüfen
CbUserHasRole(cAdminRoleKey, nUserNo, 1),
// Wenn der aktuelle User nicht der o.g. Rolle zugeordnet ist
// -> Administrations-Passowrt abfragen
if not bAccess then
bAccess := PasswordDlg(cAdminPassword, 'Administrativer Bereich') = 0,
endif,
// Rückgabe, ob der Zugriff erlaubt ist
bAccess