Einschränken des Zugriffs auf eine View
In diesem Beispielszenario erfahren Sie, wie Sie den Zugriff auf Views mithilfe von Berechtigungen einschränken können.
Die Zugriffsbeschränkung führt dazu, dass sich alle Anwender:innen beim Aufrufen der View authentifizieren müssen. Sie können zusätzlich festlegen, dass nur Anwender:innen mit bestimmten Rollen und Berechtigungen auf die View zugreifen können. Anwender:innen ohne ausreichende Berechtigungen erhalten einen Hinweis, dass sie nicht über die entsprechenden Berechtigungen verfügen.
Voraussetzungen für dieses Beispielszenario
Sie haben bereits eine App mit mindestens einer View erstellt und kennen die grundlegenden Funktionen von edoc automate.
Sie verfügen über Kenntnisse und Berechtigungen zum Verwalten und Erstellen von Benutzern und Gruppen in Keycloak.
Weitere Informationen zum Verwalten von Benutzern und Gruppen in Keycloak finden Sie im Administrationshandbuch zu Keycloak unter: https://www.keycloak.org/docs/latest/server_admin/index.html#assembly-managing-users_server_administration_guide (in englischer Sprache)
Die Oberfläche von Keycloak können Sie über <server>/auth aufrufen.
Beschränken des Zugriffs auf eine View mithilfe von Rollen
Sie können für jede View individuell festlegen, ob Anwender:innen sich authentifizieren oder über bestimmte Berechtigungen verfügen müssen. Sie können in Ihrer App zunächst Rollen erstellen. Die Rollen werden kann automatisch zum verbundenen Keycloak hinzugefügt, wenn sie noch nicht existieren.
So geht’s
Öffnen Sie die gewünschte View, auf der Sie den Zugriff einschränken möchten.
Klicken Sie in der Menüleiste auf Permissions.
Geben Sie im Abschnitt Execute im Feld Role die Bezeichnung für eine neue Rolle ein.
Drücken Sie die Eingabetaste oder klicken Sie auf Add, um die neue Rolle hinzuzufügen.
Klicken Sie auf Apply.
Speichern Sie unbedingt die View, bevor Sie weitermachen.
Wenn die Rolle in Keycloak noch nicht existiert, müssen Sie dieser Rolle noch Benutzer oder Gruppen zuweisen.
Weitere Informationen zum Zuweisen von Berechtigungen mithilfe von Rollen und Gruppen finden Sie im Administrationshandbuch zu Keycloak unter: https://www.keycloak.org/docs/latest/server_admin/index.html#assembly-managing-users_server_administration_guide (in englischer Sprache)
Wissenswertes zu Zugriffsbeschränkungen bei eingebundenen Views
Wenn eine View innerhalb einer anderen View wiederverwendet wird und Zugriffsbeschränkungen definiert wurden, werden diese automatisch an die einbindende View vererbt.
Das bedeutet Folgendes:
Eine View ohne eigene Berechtigungen übernimmt automatisch die Berechtigungen aller eingebundenen Views.
Falls mehrere eingebundene Views unterschiedliche Rollen oder Berechtigungen voraussetzen, muss ein Benutzer über alle erforderlichen Rollen verfügen, um die übergeordnete View aufrufen zu können.
Falls eine der notwendigen Berechtigungen fehlt, ist der Zugriff auf die einbindende View nicht möglich, selbst wenn für diese selbst keine direkten Einschränkungen definiert wurden.
Beispiel:
Angenommen, View A enthält View B und View C:
View B ist nur für Benutzer in der Rolle Editor zugänglich.
View C erfordert die Rolle Manager.
Wenn View A selbst keine eigenen Berechtigungen hat, benötigt ein Benutzer sowohl die Rolle Editor als auch Manager, um View A aufrufen zu können.
Tipps
Prüfen Sie beim Einbinden von Views, welche Berechtigungen die Views mitbringen, um ungewollte Zugriffsbeschränkungen zu vermeiden.
Falls notwendig, können Sie Berechtigungen gezielt angepasst oder alternative Ansätze gewählt werden, um den gewünschten Zugriff zu steuern.