xref: /plugin/extranet/README_DE.md (revision ef5bb1f3884025c3556b3c46e33332ca386a73a6)
1*ef5bb1f3SLORTET# Extranet
2*ef5bb1f3SLORTET
3*ef5bb1f3SLORTET[���� Français](README.md) | [���� English](README_EN.md) | ���� Deutsch | [���� Español](README_ES.md)
4*ef5bb1f3SLORTET
5*ef5bb1f3SLORTETDokuWiki-Plugin zum Einschränken der Anzeige von Seiten, Mediendateien und bestimmten Aktionen, wenn die Anfrage aus dem Extranet kommt.
6*ef5bb1f3SLORTET
7*ef5bb1f3SLORTETDas Plugin kann:
8*ef5bb1f3SLORTET- das Extranet anhand eines konfigurierbaren `$_SERVER`-Werts erkennen;
9*ef5bb1f3SLORTET- eine Standardrichtlinie `allow`, `block`, `force_allow` oder `force_block` anwenden;
10*ef5bb1f3SLORTET- Seiten und Mediendateien über exakte IDs, Namensräume, Platzhalter oder Regex filtern;
11*ef5bb1f3SLORTET- den Inhalt eingeschränkter Seiten durch eine konfigurierbare Meldung ersetzen;
12*ef5bb1f3SLORTET- eingeschränkte Mediendateien durch ein neutrales Bild ersetzen;
13*ef5bb1f3SLORTET- ausgewählte DokuWiki-Aktionen für Extranet-Besucher deaktivieren;
14*ef5bb1f3SLORTET- die Makros `~~NOEXTRANET~~` und `~~EXTRANET~~` verarbeiten;
15*ef5bb1f3SLORTET- sich in ProseMirror integrieren, damit dieser Zustand im WYSIWYG-Modus korrekt erhalten bleibt.
16*ef5bb1f3SLORTET
17*ef5bb1f3SLORTET## Verwendung
18*ef5bb1f3SLORTET
19*ef5bb1f3SLORTETIn Seiten stehen zwei Makros zur Verfügung:
20*ef5bb1f3SLORTET
21*ef5bb1f3SLORTET- `~~NOEXTRANET~~`: sperrt die Seite aus dem Extranet, wenn die Richtlinie dies zulässt;
22*ef5bb1f3SLORTET- `~~EXTRANET~~`: erlaubt die Seite aus dem Extranet, wenn die Richtlinie dies zulässt.
23*ef5bb1f3SLORTET
24*ef5bb1f3SLORTETDas genaue Verhalten hängt von `default_policy` ab:
25*ef5bb1f3SLORTET
26*ef5bb1f3SLORTET- `allow`: alles ist erlaubt, außer gefilterten Seiten oder Seiten mit `~~NOEXTRANET~~`
27*ef5bb1f3SLORTET- `block`: alles ist gesperrt, außer gefilterten Seiten oder Seiten mit `~~EXTRANET~~`
28*ef5bb1f3SLORTET- `force_allow`: nur Filterregeln gelten, `~~NOEXTRANET~~` wird ignoriert
29*ef5bb1f3SLORTET- `force_block`: nur Filterregeln gelten, `~~EXTRANET~~` wird ignoriert
30*ef5bb1f3SLORTET
31*ef5bb1f3SLORTET## Konfiguration
32*ef5bb1f3SLORTET
33*ef5bb1f3SLORTETIm Konfigurationsmanager:
34*ef5bb1f3SLORTET
35*ef5bb1f3SLORTET- `request_match_key`: `$_SERVER`-Schlüssel zur Erkennung des Extranets, zum Beispiel `REMOTE_ADDR` oder ein `HTTP_*`-Header
36*ef5bb1f3SLORTET- `extranet_match_list`: kommagetrennte Liste von Werten, die als Extranet gelten
37*ef5bb1f3SLORTET- `extranet_match_regex`: Regex zur Erkennung des Extranets aus dem konfigurierten Wert
38*ef5bb1f3SLORTET- `default_policy`: Standard-Zugriffsrichtlinie
39*ef5bb1f3SLORTET- `filter_list`: Liste der Seiten oder Mediendateien, auf die die Richtlinie angewendet wird
40*ef5bb1f3SLORTET- `filter_regex`: zusätzliche Regex zum Ansprechen von Seiten oder Mediendateien
41*ef5bb1f3SLORTET- `hide_files`: legt fest, ob Einschränkungen auch für Mediendateien gelten
42*ef5bb1f3SLORTET- `disable_actions`: DokuWiki-Aktionen, die für Extranet-Besucher deaktiviert werden
43*ef5bb1f3SLORTET- `restricted_disable_actions`: zusätzliche Aktionen, die nur deaktiviert werden, wenn die aktuelle Seite eingeschränkt ist
44*ef5bb1f3SLORTET- `preserve_first_title`: behält die erste Überschrift bei, wenn eine Seite ausgeblendet wird
45*ef5bb1f3SLORTET- `message_prefix`: Inhalt vor der Einschränkungsmeldung
46*ef5bb1f3SLORTET- `message_suffix`: Inhalt nach der Einschränkungsmeldung
47*ef5bb1f3SLORTET
48*ef5bb1f3SLORTETKompatibilität:
49*ef5bb1f3SLORTET
50*ef5bb1f3SLORTET- `server_ip_key`
51*ef5bb1f3SLORTET- `extranet_ip_list`
52*ef5bb1f3SLORTET- `extranet_ip_regex`
53*ef5bb1f3SLORTET
54*ef5bb1f3SLORTETDiese alten Einstellungen werden weiterhin aus Kompatibilitätsgründen unterstützt, bevorzugt werden sollten aber die neuen Namen.
55*ef5bb1f3SLORTET
56*ef5bb1f3SLORTET## Beispiele
57*ef5bb1f3SLORTET
58*ef5bb1f3SLORTETErkennung über direkte IP:
59*ef5bb1f3SLORTET
60*ef5bb1f3SLORTET- `request_match_key = REMOTE_ADDR`
61*ef5bb1f3SLORTET- `extranet_match_regex = /^10\.100\./`
62*ef5bb1f3SLORTET
63*ef5bb1f3SLORTETErkennung über Proxy-Header:
64*ef5bb1f3SLORTET
65*ef5bb1f3SLORTET- `request_match_key = HTTP_X_NETWORK_ZONE`
66*ef5bb1f3SLORTET- `extranet_match_list = extranet`
67*ef5bb1f3SLORTET
68*ef5bb1f3SLORTETErkennung über den Upstream-Hostnamen:
69*ef5bb1f3SLORTET
70*ef5bb1f3SLORTET- `request_match_key = HTTP_X_UPSTREAM_HOST`
71*ef5bb1f3SLORTET- `extranet_match_regex = /^frontend-ext-/`
72*ef5bb1f3SLORTET
73*ef5bb1f3SLORTET## Was der Helper bereitstellt
74*ef5bb1f3SLORTET
75*ef5bb1f3SLORTETHelper laden:
76*ef5bb1f3SLORTET
77*ef5bb1f3SLORTET```php
78*ef5bb1f3SLORTET$extranet = plugin_load('helper', 'extranet');
79*ef5bb1f3SLORTET```
80*ef5bb1f3SLORTET
81*ef5bb1f3SLORTETWichtige Methoden:
82*ef5bb1f3SLORTET
83*ef5bb1f3SLORTET- `getDefaultPolicy()`: gibt die effektive Standardrichtlinie zurück
84*ef5bb1f3SLORTET- `getRequestMatchKey()`: gibt den für die Erkennung verwendeten `$_SERVER`-Schlüssel zurück
85*ef5bb1f3SLORTET- `getExtranetMatchList()`: gibt die konfigurierte Werteliste zurück
86*ef5bb1f3SLORTET- `getExtranetMatchRegex()`: gibt die konfigurierte Regex zurück
87*ef5bb1f3SLORTET- `isExtranetRequest()`: prüft, ob die aktuelle Anfrage als Extranet gilt
88*ef5bb1f3SLORTET- `isPageVisibleFromExtranet()`: prüft, ob eine Seite aus dem Extranet sichtbar ist
89*ef5bb1f3SLORTET- `isMediaVisibleFromExtranet()`: prüft, ob eine Mediendatei aus dem Extranet sichtbar ist
90*ef5bb1f3SLORTET- `isPageAllowed()`: prüft, ob eine Seite im aktuellen Kontext erlaubt ist
91*ef5bb1f3SLORTET- `isMediaAllowed()`: prüft, ob eine Mediendatei im aktuellen Kontext erlaubt ist
92*ef5bb1f3SLORTET- `parseRuleList()`: wandelt eine Regelliste in ein nutzbares Array um
93*ef5bb1f3SLORTET- `idMatchesRule()`: prüft eine ID gegen eine Regel
94*ef5bb1f3SLORTET
95*ef5bb1f3SLORTET## Cache und Verhalten
96*ef5bb1f3SLORTET
97*ef5bb1f3SLORTETDas Plugin trennt den Render-Cache, um Intranet- und Extranet-Besucher zu unterscheiden.
98*ef5bb1f3SLORTET
99*ef5bb1f3SLORTETWenn eine Seite eingeschränkt ist, wird ihr Inhalt durch eine konfigurierbare Meldung ersetzt. Wenn `preserve_first_title` aktiviert ist, bleibt die erste Überschrift erhalten.
100*ef5bb1f3SLORTET
101*ef5bb1f3SLORTETWenn `hide_files` aktiviert ist, werden eingeschränkte Mediendateien durch ein spezielles Bild ersetzt.
102*ef5bb1f3SLORTET
103*ef5bb1f3SLORTET## Hinweis
104*ef5bb1f3SLORTET
105*ef5bb1f3SLORTETDas Plugin basiert auf einem Request-Marker, der von der Web-Infrastruktur geliefert wird. Es eignet sich für die Trennung zwischen Intranet und Extranet, sollte aber nicht als Ersatz für ACLs oder starke Zugriffskontrolle betrachtet werden.
106