Skip to content

Commit 495cfd0

Browse files
authored
Merge pull request #280 from mapbender/documentation/fom
Update of FOM/User rights sections
2 parents 57100eb + 61c6734 commit 495cfd0

26 files changed

Lines changed: 217 additions & 237 deletions

de/functions/backend/FOM/acl.rst

Lines changed: 6 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -4,47 +4,15 @@
44
Access Control Lists (ACL)
55
==========================
66

7-
Die Absicherung von Domain-Objekten (generell Datenbank Entities) wird über
8-
Access Control Lists (ACL) implementiert. ACLs ermöglichen eine flexible
9-
Genehmigung für individuelle Objekte.
7+
Die Absicherung von Domain-Objekten wird in Mapbender über Access Control Lists (ACLs) implementiert. ACLs ermöglichen in Mapbender eine flexible Rechtezuweisung auf Applikationen, Dienste und die Benutzer- und Gruppenverwaltung selbst.
108

11-
Für jede Domain-Objektklasse können bis zu 30 verschiedene Rechte
12-
gewährleistet werden. Generell reichen die folgenden 7 aus:
9+
Mapbender bietet zur Absicherung dieser Bereiche die folgenden Rechte- und Rollenzuweisungen an:
1310

14-
- View : Objekt lesen
11+
- View : Ein existierendes Objekt lesen
1512
- Create : Ein neues Objekt erstellen
1613
- Edit : Ein existierendes Objekt bearbeiten
1714
- Delete : Ein existierendes Objekt löschen
18-
- Operator : Die Rechte zu Lesen, Erstellen, Editieren und zu Löschen
19-
- Master : Die Operator Rechte, kann alle Rechte bis zum Operator Level verwalten
20-
- Owner : Master Rechte. Kann Master Rechte selbst verwalten
15+
- Operator : Rollenbezeichnung für die Rolle "Operator", dieser hat die Rechte View, Edit und Delete.
16+
- Master : Rollenbezeichnung für die Rolle "Master", dieser hat Operator-Rechte und kann zusätzlich alle oberen Rechte anderen zuweisen.
17+
- Owner : Rollenbezeichnung für die Rolle "Owner", dieser kann sowohl Operator als auch Master-Rechte zuweisen.
2118

22-
Jedes ACL baut sich aus einer Objekt Identity und bestimmten Access Control Entries (ACE) auf.
23-
24-
25-
Objekt Identität
26-
----------------
27-
28-
ACLs werden nicht direkt den Objekten zugeordnet sondern den sogenannten
29-
Objekt Identities. Diese repräsentieren individuelle Objekte oder Klassen
30-
(das Create Recht ist zum Beispiel ein Recht auf eine Klasse).
31-
32-
33-
Access Control Entries
34-
----------------------
35-
36-
Jedes ACE enthält die Rechte für einen Benutzer oder eine Rolle. Die Rechte
37-
werden als Interger Bit abgelegt, daher können 32 Rechte verwaltet
38-
werden. Da einige PHP Implementationen 30 bit große Integers verwalten, hat
39-
sich die Zahl 30 als plattformübergreifender Höchstwert etabliert. Wie schon
40-
erwähnt reichen 7 Rechte aus, um einen umfangreichen CRUD Workflow zu
41-
modellieren und die restlichen 23 für Eigenentwicklungen vorzuhalten.
42-
43-
44-
Security Identität
45-
------------------
46-
47-
ACEs können entweder mit Benutzern oder Rollen assoziiert werden, um damit
48-
beide mit einer Security Identität zu kapseln.
49-
50-
.. image:: ../../../../en/functions/backend/FOM/acl.png
30.3 KB
Loading
29.4 KB
Loading

de/functions/backend/FOM/examples.rst

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Der Befehl ``app/console fom:user:resetroot`` setzt den User mit der ID 1 zurüc
1010

1111
.. code-block:: bash
1212
$ app/console fom:user:resetroot
13-
Welcome to the Mapbender3 root account management command
13+
Welcome to the Mapbender root account management command
1414
Enter the username to use for the root account.
1515
Username [root]: root
1616
Enter the e-mail adress to use for the root account.
@@ -21,7 +21,7 @@ Der Befehl ``app/console fom:user:resetroot`` setzt den User mit der ID 1 zurüc
2121
The root is now usable. Have fun!
2222
2323
24-
Neuen Benutzer anlegen
24+
Neue Benutzer anlegen
2525
----------------------
2626

2727
Der root Benutzer (ID 1) kann neue Benutzer anlegen. Dies ist auch für andere Benutzer möglich, wenn sie im ACL "Users" als Owner eingetragen sind. Diese Ausnahmeberechtigung wurde gewählt, damit nicht jeder Nutzer seinen Benutzernamen ändern kann.
@@ -30,20 +30,24 @@ Der root Benutzer (ID 1) kann neue Benutzer anlegen. Dies ist auch für andere B
3030
Neue Anwendungen anlegen
3131
------------------------
3232

33-
Ein Benutzer, der neue Anwendungen erzeugen soll, muss im ACL "Applications" das Create Recht besitzen. Sobald er dieses Recht hat, kann er auch Anwendungen exportieren und importieren.
33+
Ein Benutzer, der neue Anwendungen erzeugen soll, muss im ACL "Anwendungen" das *Create* Recht besitzen. Sobald er dieses Recht hat, kann er auch Anwendungen exportieren und importieren.
3434

35-
Um Layerset Instanzen einzubauen, muss er im ACL "Service Source" das Edit Recht besitzen.
35+
36+
Datenquellen konfigurieren
37+
--------------------------
38+
39+
Um den Aufruf auf den Tab ``Datenquellen`` zu erhalten und anschließend Dienste einbinden, konfigurieren oder aktualisieren zu können, muss ein Benutzer/eine Gruppe im ACL "Datenquellen" mindestens das *Edit* Recht zugewiesen bekommen.
3640

3741

3842
Anwendungen kopieren
3943
--------------------
4044

41-
Ein Benutzer kann Anwendungen kopieren, wenn er im ACL "Applications" oder in der Anwendung mindestens das Edit Recht hat. Dabei überschreibt das Recht der Anwendung das globale ACL Recht.
45+
Ein Benutzer kann Anwendungen kopieren, wenn er im ACL ``Applications`` oder in der Anwendung selbst mindestens das *Edit* Recht hat. Dabei überschreibt das individuelle Recht der Anwendung das globale ACL Recht.
4246

43-
Dabei wird der Benutzer automatisch Owner seiner kopierten Anwendung.
47+
Wenn ein Benutzer eine Anwendung kopiert, dann wird er automatisch ihr Owner.
4448

4549

4650
Anwendungen löschen
4751
-------------------
4852

49-
Ein Benutzer kann Anwendungen löschen, wenn er im ACL "Applications" oder er in der Anwendung mindestens das Delete Recht hat. Dabei überschreibt das Recht der Anwendung das globale ACL Recht.
53+
Ein Benutzer kann Anwendungen löschen, wenn er im ACL ``Anwendungen`` oder er in der Anwendung selbst mindestens das *Delete* Recht hat. Dabei überschreibt das individuelle Recht der Anwendung das globale ACL Recht.

de/functions/backend/FOM/index.rst

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
.. _fom_de:
22

3-
FOMUserBundle - Benutzer und Absicherung
4-
========================================
3+
FOM UserBundle - Benutzer und Absicherung
4+
=========================================
55

66
.. toctree::
77
:maxdepth: 1
88

9+
security
910
acl
1011
users
1112
roles_groups
12-
security
1313
examples
14-

de/functions/backend/FOM/roles_groups.rst

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,11 @@
33
Rollen und Gruppen
44
==================
55

6-
Rollen sind definiert über Instanzen von
7-
FOM\\ManagerBundle\\Component\\Bundle und nutzen die getRoles Methode.
6+
Rollen werden in Mapbender für globale Zugriffe auf Domänen-Objekte verwendet, wenn kein anderes Domänen-Objekt involviert ist.
87

9-
Die Benennung der Rollen folgt dem Standard Symfony Role Naming Schema, in
10-
dem Rollen mit dem Präfix "ROLE\_" benannt werden.
8+
Die folgenden Rollen sind für eine übergreifende Rechtevergabe auf bestimmte Domänen-Objekte verfügbar:
119

12-
Rollen können für globale Rechteüberprüfungen benutzt werden, wenn kein
13-
Domänen-Objekt involviert ist und können als Sicherheits-Identitäten von ACE
14-
in ACL genutzt werden.
10+
* Alle angemeldeten Benutzer: Rechtevergabe betrifft alle Benutzer mit einem Account und keinen individuellen Rechtezuschreibungen.
11+
* Anonyme Nutzer: Rechtevergabe betrifft alle unangemeldeten Besucher von Mapbender-URLs.
1512

16-
Gruppen sind Datenbank-Entitäten, die zu Benutzern auf einer individuellen
17-
Basis zugewiesen werden können. Sie können auch mehreren Rollen zugewiesen
18-
werden. Daher liegt ihr Nutzen in der Sammlung von Rollen, die jedem Nutzer
19-
einer Gruppe zugeordnet werden sollen.
20-
21-
.. image:: users.png
22-
23-
24-
25-
Zukunft
26-
-------
27-
28-
Später ist es möglich, individuelle Rollen direkt einem Nutzer zuzuordnen.
29-
30-
Symfony bietet zusätzlich eine API für hierarchische Rollen an, die bisher
31-
noch nicht Teil des FOMUserBundles ist.
13+
Gruppen sind im Gegensatz dazu selbst erstellte Datenbank-Entitäten. Benutzer können ihnen individuell zugewiesen werden. Gemeinsame Gruppenmitglieder besitzen die gleichen Rechte, sofern diese auf Domänen-Objekten zentral für die Gruppe konfiguriert wurden.

de/functions/backend/FOM/security.rst

Lines changed: 63 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,70 @@
33
Sicherheitskonzepte
44
===================
55

6-
Sicherheit wird im FOMUserBundle bereitgestellt und basiert auf diesen
7-
Konzepten:
6+
Sicherheit wird im FOM User Bundle bereitgestellt und basiert auf diesen Konzepten:
87

98
- :doc:`Benutzer <users>`
109
- :doc:`Rollen und Gruppen <roles_groups>`
1110
- :doc:`Access Control Lists (ACL) <acl>`
11+
12+
13+
Rechte
14+
========
15+
16+
Mapbender bietet verschiedene Rechte an, die Sie vergeben können. Sie basieren auf :doc:`Access Control Lists (ACL) <acl>`.
17+
18+
* view - anzeigen
19+
* edit - editieren
20+
* delete - löschen
21+
* operator - kann anzeigen, editieren und löschen
22+
* master - kann anzeigen, editieren, löschen und diese Rechte außerdem weitergeben
23+
* owner - Besitzer, darf alles (inkl. Vergabe von master und owner Recht)
24+
25+
Weisen Sie einem Benutzer über ``Benutzer --> Benutzer bearbeiten --> Sicherheit`` die gewünschten Rechte zu.
26+
27+
.. image:: /figures/mapbender_roles.png
28+
:scale: 80
29+
30+
31+
Zuweisen einer Anwendung zu einem Benutzer/einer Gruppe
32+
=======================================================
33+
34+
#. Bearbeiten Sie Ihre Anwendung über ``Anwendungen --> Bearbeiten``.
35+
36+
#. Wählen Sie ``Sicherheit``.
37+
38+
#. Veröffentlichen oder verbergen Sie Ihre Anwendung für alle über die Auswahl **Öffentlicher Zugriff** unter ``Sicherheit`` (oder alternativ über den **Anwendung publizieren/verbergen**-Button in der Anwendungsübersicht).
39+
40+
#. Fügen Sie für individuelle Einstellungen alternativ Benutzer oder Gruppen über den Plus-Button hinzu. Setzen Sie anschließend individuelle Berechtigungen über die Rechtetabelle. So weisen Sie eine Anwendung einem oder mehreren Benutzer(n)/Gruppe(n) zu.
41+
42+
#. Melden Sie sich erneut unter der ausgewählten Benutzerbezeichnung an, um die Rechtevergabe zu testen.
43+
44+
#. Alternativ können Sie auch unter ``Sicherheit --> Globale Zugriffssteuerungsliste (ACL) --> Anwendungen`` schnell Berechtigungen von Benutzern/Gruppen für alle Anwendungen festlegen.
45+
46+
47+
Zuweisen einzelner Elemente zu Benutzern/Gruppen
48+
================================================
49+
50+
Standardmäßig stehen alle Elemente den Benutzern/Gruppen zur Verfügung, die Zugriff auf eine Anwendung haben. Für einzelne Elemente kann der Zugriff noch genauer definiert werden, so dass diese nur bestimmten Benutzern/Gruppen zur Verfügung stehen.
51+
52+
#. Bearbeiten Sie Ihre Anwendung über ``Anwendungen --> Bearbeiten``.
53+
54+
#. Wählen Sie ``Layouts``.
55+
56+
#. Jedes Element verfügt über einen eigenen ``AcL-Element``-Button (Schlüssel). Wählen Sie den Button zu dem Element, das nur ausgewählten Benutzern/Gruppen zur Verfügung stehen soll.
57+
58+
#. Fügen Sie Benutzer oder Gruppen über den Plus-Button hinzu. Setzen Sie anschließend individuelle Berechtigungen über die Rechtetabelle. Das Element wird so innerhalb der Anwendung abgesichert und nur bestimmten Benutzer(n)/Gruppe(n) zugänglich.
59+
60+
#. Testen Sie die Konfiguration, indem Sie die Anwendung mit Benutzern aufrufen, die (keine) Berechtigungen zum Element erhalten haben.
61+
62+
63+
Zuweisen von Benutzern zu einem Benutzer/einer Gruppe
64+
=====================================================
65+
66+
#. Bearbeiten Sie Ihre Benutzer über ``Sicherheit --> Benutzer``.
67+
68+
#. Wählen Sie ``Sicherheit``.
69+
70+
#. Weisen Sie Benutzern/Gruppen individuelle Berechtigungen auf den individuellen Benutzer zu. Fügen Sie Benutzer oder Gruppen über den Plus-Button hinzu. Setzen Sie anschließend individuelle Berechtigungen über die Rechtetabelle. So weisen Sie Benutzer(n)/Gruppe(n) einen Benutzer zu.
71+
72+
#. Melden Sie sich unter dem Benutzer bzw. der Gruppe mit neuen Rechten an, um die Rechtevergabe zu testen. Je nach Konfiguration ist es so z.B. möglich, dass alle Teilnehmer einer Gruppe Berechtigungen über einen bestimmten Benutzer haben und dessen Account bearbeiten oder löschen können.
26.5 KB
Loading
32.3 KB
Loading

de/functions/backend/FOM/users.png

-18.4 KB
Binary file not shown.

0 commit comments

Comments
 (0)