UrmPermGet
obj -> UrmPermGet(alpha1, int2, bigint3) : logic
Ermitteln, ob bestimmte Rechte vorhanden sind
Details
- obj: Deskriptor der Benutzergruppe oder
0 - alpha1: Name der Elementgruppe
- int2:
- bigint3: Berechtigungsflags
- Resultat:
logicRechte vorhanden - Siehe: Verwandte Befehle , Benutzerpflege ,
UrmPermGetRaw (),UrmPermSet ()
Mit dieser Anweisung kann überprüft werden, ob der eigene Benutzer oder eine Benutzergruppe über bestimmte Berechtigungen auf einer Elementgruppe verfügt oder sie entzogen bekommen hat.
- Rechte einer Benutzergruppe ermitteln Der Deskriptor der Benutzergruppe wird in (obj) übergeben. In (alpha1) wird der Name der Elementgruppe angegeben, deren Rechte ermittelt werden sollen.
- Die eigenen Rechte ermitteln Um die eigenen Berechtigungen zu ermitteln, wird als Deskriptor in (obj)
0übergeben. Dabei werden dann die effektiven Rechte überprüft, die sich aus der Kombination der Rechte aller Benutzergruppen zusammen setzt, der der Benutzer zugeordnet ist. Der Name der Elementgruppe wird in (alpha1) übergeben. Es können nur die erlaubten Rechte (_UrmAllow) ermittelt werden.
In (bigint3) wird eine beliebige Kombination von Berechtigungsflags und in (int2) der Abfragemodus übergeben. Die in (bigint3) übergebene Kombination aus Berechtigungsflags kann mit folgenden Konstanten zusammengestellt werden:
_UrmOldPermAccess: Dateiberechtigung zum Zugriff auf Datensätze_UrmOldPermDelete: Dateiberechtigung zum Löschen von Datensätzen_UrmOldPermEntry: Dateiberechtigung zur Eingabe von Datensätzen_UrmOldPermExecLists: Dateiberechtigung Ausführen von Listen_UrmOldPermExecSelections: Dateiberechtigung Ausführen von Selektionen_UrmOldPermExecTransfers: Dateiberechtigung zur Ausführung von Transfers_UrmOldPermLink: Dateiberechtigung zum Zugriff auf Verknüpfungen_UrmOldPermListFormats: Dateiberechtigung zur Änderung von Listenformaten_UrmOldPermModify: Dateiberechtigung zum Ändern von Datensätzen_UrmOldPermParameters: Dateiberechtigung zur Änderung von Dateiparametern_UrmOldPermRecLists: Dateiberechtigung zum Ändern von Zugriffslisten_UrmOldPermSave: Dateiberechtigung zum Speichern von Datensätzen_UrmOldPermSelections: Dateiberechtigung zum Ändern von Selektionen_UrmOldPermTextMix: Dateiberechtigung zum Text und Daten mischen_UrmOldPermTransfers: Dateiberechtigung zum Ändern von Transfers_UrmPermRead: Berechtigung zum Lesen_UrmPermCreate: Berechtigung zum Erzeugen_UrmPermModify: Berechtigung zum Ändern_UrmPermModifyOwner: Berechtigung zum Ändern bei Objektbesitz_UrmPermDelete: Berechtigung zum Löschen_UrmPermDeleteOwner: Berechtigung zum Löschen bei Objektbesitz_UrmPermExecute: Berechtigung zum Ausführen_UrmPermConfig: Berechtigung zur Änderung der Tabellenstruktur_UrmIdePermRead: Berechtigung zum Lesen (Entwicklungsumgebung)_UrmIdePermCreate: Berechtigung zum Erzeugen (Entwicklungsumgebung)_UrmIdePermModify: Berechtigung zum Ändern von (Entwicklungsumgebung)_UrmIdePermDelete: Berechtigung zum Löschen von (Entwicklungsumgebung)_UrmPermElmGroupRead: Berechtigung Elementgruppen lesen_UrmPermElmGroupInsert: Berechtigung Element zur Gruppe hinzufügen_UrmPermElmGroupDelete: Berechtigung Element aus Gruppe löschen_UrmPermMemberInsert: Berechtigung Benutzer zu Benutzergruppe hinzufügen_UrmPermMemberDelete: Berechtigung Benutzer aus Benutzergruppe entfernen
Die Berechtigungen der alten Benutzerverwaltung können mit Hilfe von _UrmOldPerm...-Konstanten ermittelt werden. Die Konstanten sind im Abschnitt Konvertierung des alten Benutzersystems zusammengefasst.
Der Programmierer kann eigene Rechte definieren. Dazu stehen ihm die _UrmPermUser-Konstanten zur Verfügung.
Je nach übergebenem Modus (int2) kann überprüft werden, ob eine Benutzergruppe ein oder mehrere Rechte zugesprochen oder entzogen bekommen hat. Mit dem Aufruf UrmPermGet(..., _UrmAllow , ...) werden die zugesicherten Rechte überprüft, mit dem Aufruf UrmPermGet(..., _UrmDeny , ...) die entzogenen Rechte.
Werden mehrere Rechte gleichzeitig überprüft, gibt die Anweisung nur dann true zurück, wenn mindestens die angegebenen Rechte zugesprochen oder entzogen wurden. Sind bei einer Elementgruppe zum Beispiel die Rechte _UrmPermRead, _UrmPermCreate und _UrmPermModify erlaubt, wird bei der Überprüfung mit UrmPermGet(..., _UrmAllow , _UrmCreate | _UrmModify ) true zurückgegeben. Bei der Überprüfung mit UrmPermGet(..., _UrmAllow , _UrmCreate | _UrmExecute ) wird allerdings false zurückgegeben, weil das Ausführungsrecht nicht zugesichert ist.
Beispiel
// Überprüfung der eigenen Rechte
if (UrmPermGet(0, 'Customer', _UrmAllow, _UrmPermRead))
{
// Anzeige der Datensatzinformation
...
}
// Kombination von Rechten
if (UrmPermGet(0, 'Customer', _UrmAllow, _UrmPermRead | _UrmPermCreate | _UrmPermModify))
{
// Änderungsdialog aufrufen
...
}
// Welcher Modus?
if (tHdlUserGrp->UrmPermGet('Customer', _UrmAllow, _UrmPermRead))
{
// Recht zugewiesen
...
}
if (tHdlUserGrp->UrmPermGet('Customer', _UrmDeny, _UrmPermRead))
{
// Recht entzogen
...
}
Mögliche Laufzeitfehler:
_ErrHdlInvalid: Der in (obj) übergebene Deskriptor ist ungültig._ErrStringOverflow: Es wurde ein zu langer Elementname angegeben._ErrValueInvalid: Es wurde ein unbekannter Modus in (int2) übergeben.