check_permission()
Prüft, ob der aktuelle Benutzer die angeforderten Berechtigungen auf einem Objekt
besitzt, über DMS.CheckPermission (einzelnes Flag) oder DMS.CheckPermissions
(mehrere Flags).
Um zu prüfen, ob ein Objekt an einem bestimmten Ort eingefügt werden darf,
wird 0 als model übergeben, write=True gesetzt und der Zielort über
folder_id oder register_id angegeben.
1. Signatur
-
Sync
-
Async
ecm.dms.check_permission(
model: _ECMModelBase | int,
object_type_id: int | None = None,
*,
read: bool = False,
write: bool = False,
execute: bool = False,
delete: bool = False,
update: bool = False,
folder_id: int | ECMFolderModel | None = None,
register_id: int | ECMRegisterModel | None = None,
register_type: int | None = None,
) -> bool
await ecm.dms.check_permission(
model: _ECMModelBase | int,
object_type_id: int | None = None,
*,
read: bool = False,
write: bool = False,
execute: bool = False,
delete: bool = False,
update: bool = False,
folder_id: int | ECMFolderModel | None = None,
register_id: int | ECMRegisterModel | None = None,
register_type: int | None = None,
) -> bool
2. Parameter
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
|
|
— |
Entweder eine ECM-Modell-Instanz (deren |
|
|
|
Die numerische Objekttyp-ID. Wenn |
|
|
|
Prüft die Berechtigung zum Lesen von Indexdaten ( |
|
|
|
Prüft die Berechtigung zum Schreiben von Indexdaten ( |
|
|
|
Prüft die Berechtigung zum Öffnen/Ausführen ( |
|
|
|
Prüft die Löschberechtigung ( |
|
|
|
Prüft die Berechtigung zum Aktualisieren des Objekts ( |
|
|
|
ID des Ordners oder eine |
|
|
|
ID des übergeordneten Registers oder eine |
|
|
|
Typ des übergeordneten Registers. |
Mindestens eines der Flags read, write, execute, delete oder update muss True sein.
|
3. Zugriffsflags
| Flag | Parameter | Beschreibung |
|---|---|---|
|
|
Indexdaten des Objekts lesen. |
|
|
Indexdaten des Objekts schreiben. |
|
|
Objekt öffnen oder ausführen. |
|
|
Objekt löschen. |
|
|
Objekt aktualisieren (Dateien ersetzen). |
Wenn ein einzelnes Flag abgefragt wird, wird der Serveraufruf DMS.CheckPermission verwendet.
Wenn mehrere Flags abgefragt werden, wird stattdessen DMS.CheckPermissions verwendet.
4. Rückgabewert
True, wenn der Benutzer alle angeforderten Berechtigungen besitzt, andernfalls False.
5. Ausnahmen
| Ausnahme | Bedingung |
|---|---|
|
|
|
|
6. Beispiele
6.1. Leseberechtigung auf einem Dokument prüfen
-
Sync
-
Async
doc = ecm.dms.get(InvoiceDocument, 12345)
if ecm.dms.check_permission(doc, read=True):
print("Read access granted")
doc = await ecm.dms.get(InvoiceDocument, 12345)
if await ecm.dms.check_permission(doc, read=True):
print("Read access granted")
6.2. Mehrere Berechtigungen gleichzeitig prüfen
-
Sync
-
Async
if ecm.dms.check_permission(12345, read=True, write=True, delete=True):
print("Full access")
else:
print("Restricted access")
if await ecm.dms.check_permission(12345, read=True, write=True, delete=True):
print("Full access")
else:
print("Restricted access")
6.3. Einfügeberechtigung an einem Ordner-Speicherort prüfen
-
Sync
-
Async
folder = ecm.dms.select(InvoiceFolder).execute()[0]
if ecm.dms.check_permission(0, object_type_id=327685, write=True, folder_id=folder):
print("Insert allowed in this folder")
folder = (await ecm.dms.select(InvoiceFolder).execute())[0]
if await ecm.dms.check_permission(0, object_type_id=327685, write=True, folder_id=folder):
print("Insert allowed in this folder")