... | ... | @@ -27,18 +27,28 @@ Genauere Informationen zur Konfiguration können in der [PHPMailer Dokumentation |
|
|
## Authentifizierung ([L45-67](https://zivgitlab.uni-muenster.de/secdoc/secdoc/-/blob/master/assets/ajax/secdoc.conf.php#L45-67))
|
|
|
|
|
|
Die Methode zur Authentifizierung kann über `$auth_method` gewählt werden. Zur Authentifizierung stehen bisher die vier folgenden Möglichkeiten zur Verfügung:
|
|
|
* `demo` - Bietet **keine** Authentifizierung, alle Nutzer haben DSB-Berechtigungen. Nur für Demo-Instanzen!
|
|
|
* `ldap` - Authentifizierung über einen AD/LDAP Server mit Nutzername und Passwort. Es wird eine interne Session-Verwaltung genutzt. Weitere Konfigurationen müssen über `$auth_ldap_config` vorgenommen werden.
|
|
|
* `openid` - Authentifizierung mittels OpenID über Apache Umgebungsvariablen.
|
|
|
* `sso` - Bietet Authentifizierung über SSO-Systeme an (beispielsweise mittles `.htaccess` bei Apache).
|
|
|
* `demo` - Bietet **keine** Authentifizierung, alle Nutzer haben DSB-Berechtigungen. Nur für Demo-Instanzen!
|
|
|
* `ldap` - Authentifizierung über einen AD/LDAP Server mit Nutzername und Passwort. Es wird eine interne Session-Verwaltung genutzt. Weitere Konfigurationen müssen über `$auth_ldap_config` vorgenommen werden.
|
|
|
* `openid` - Authentifizierung mittels OpenID über Apache Umgebungsvariablen.
|
|
|
* `sso` - Bietet Authentifizierung über SSO-Systeme an (beispielsweise mittles `.htaccess` bei Apache).
|
|
|
|
|
|
An dieser Stellen können auch Berechtigungen für den Zugriff auf Admin-, Debug- und DSB-Funktionen anhand von Nutzergruppen (oder teilweise Nutzerkennungen) festgelegt werden. Die Abfrage von Nutzergruppen zu eingeloggten erfolgt bisher über AD/LDAP und muss separat konfiguriert werden (siehe [Datenquellen](#datenquellen)).
|
|
|
|
|
|
Sollte keine der vorhandenen Authentifizierungsmethoden verwendbar sein, kann auch eine eigene Klasse erstellt werden (siehe [Auth.class.php](https://zivgitlab.uni-muenster.de/secdoc/secdoc/-/blob/master/assets/ajax/auth/Auth.class.php)).
|
|
|
|
|
|
## Dokumentenmanagement ([L113-118](https://zivgitlab.uni-muenster.de/secdoc/secdoc/-/blob/master/assets/ajax/secdoc.conf.php#L113-118))
|
|
|
|
|
|
Über die Einstellung `$docmgmt_method` lässt sich das gewünschte Dokumentenmanagementsystem auswählen. Aktuell steht zur Auswahl:
|
|
|
* `demo` - Zeigt die Funktionalität mit einem Dummydokument. Kein Upload möglich.
|
|
|
* `local`- Einfacher Up- und Download von Dokumenten. Speicherung im Verzeichnis `$pdf_dir/$doc_id`.
|
|
|
|
|
|
Mit der Einstellung `$docmgmt_maxAttachSize` lässt sich die maximale Grüße für Uploads einstellen.
|
|
|
|
|
|
Es können weitere Dokumentenmanagementsysteme über eigene Klassen implementiert werden (siehe [DocMGMT.class.php](https://zivgitlab.uni-muenster.de/secdoc/secdoc/-/blob/master/assets/ajax/docmgmt/DocMGMT.class.php)).
|
|
|
|
|
|
## Datenquellen
|
|
|
|
|
|
Bisher werden zwei Datenquellen in SecDoc verwendet.
|
|
|
Bisher werden zwei Datenquellen in SecDoc verwendet: AD/LDAP und SQLite.
|
|
|
|
|
|
### AD/LDAP ([L78-104](https://zivgitlab.uni-muenster.de/secdoc/secdoc/-/blob/master/assets/ajax/secdoc.conf.php#L78-104))
|
|
|
|
... | ... | @@ -50,12 +60,12 @@ Diese Einstellungen sind zwingend notwendig, wenn Zugriffsberechtigungen über N |
|
|
|
|
|
#### Erläuterungen zu den Abfragen
|
|
|
|
|
|
* `$ldap_configs['groups']`: Führt die Suche nach Gruppen durch. Die Platzhalter (`$`) in `ldap_filter` werden durch den Suchbegriff ersetzt. Standardmäßig werden die Attribute `cn` und `description` durchsucht, dies kann allerdings durch Anpassung von `ldap_filter` geändert werden. Es müssen zwei Attribute in `ldap_attributes` angegeben werden. Das erste Attribut wird als Gruppenkennung in SecDoc verwendet, während das zweite Attribut eine Beschreibung der Gruppe darstellen soll. Diese können ebenfalls ersetzt werden.
|
|
|
* `$ldap_configs['usergroups']`: Fragt alle Nutzergruppen zu einer Kennung ab, z.B. für die Prüfung von Zugriffsrechten. Der Platzhalter (`$`) in `ldap_filter` wird durch die Nutzerkennung ersetzt. Es wird standardmäßig nach dem Attribut `cn` gesucht, aber eine Suche beispielsweise nach `sAMAccountName` ist durch Anpassung des Filters möglich. Es wird das `memberof` Attribut genutzt. Dies sollte nicht geändert werden!
|
|
|
* `$ldap_configs['groupname']`: Holt die Gruppenbezeichnungen zu einer Gruppenkennung. Der Platzhalter (`$`) wird durch eine Gruppenkennung ersetzt. Die Suche erfolgt über das `cn` Attribut, dies kann aber durch Anpassung des Filters angepasst werden. Das Attribut `description` wird als Gruppenbezeichnung gewählt, kann aber auch durch ein beliebiges anderes Attribut ersetzt werden. Es wird nur ein Attribut verarbeitet.
|
|
|
* `$ldap_configs['users_id']`: Fragt Informationen zu einer bestimmten Nutzerkennung ab. Der Filter nutzt nutzt standardmäßig das `cn` Attribut, kann aber angepasst werden. Der Platzhalter wird hierbei durch die Nutzerkennung ersetzt. Die Anwendung erwartet 6 Attribute zur Abfrage in `ldap_attributes`, die der Reihe nach für folgende Werte in SecDoc genutzt werden: Nutzerkennung, Vorname, Nachname, Hauptgruppe/Abteilung/Beschreibung, Telefonnummer, E-Mail. Die Attribute können frei verändert werden, aber sollten passende Werte und die korrekte Reihenfolge beibehalten. Aktuell werden die Werte nur für die Anzeige von Personen in der Form `Vorname Nachname, Hauptgruppe, Telefon, E-Mail` verwendet.
|
|
|
* `$ldap_configs['users_one']` und `$ldap_configs['users_two']`: Durchsucht die Nutzer nach einer (Teil-)Kennung oder einem (Teil-)Namen. Falls eine Zeichenkette ohne Leerzeichen übergeben wird, wird `users_one` verwendet und es werden die Attribute `cn`, `sn` und `givenname` nach dem Suchbegriff durchsucht. Bei Zeichenketten mit Leerzeichen wird `users_two` verwendet und die Zeichenkette aufgeteilt in Vor- und Nachname und die Attribute `givenname` und `sn` mit der Kombination durchsucht. Wie immer können die Filter-Attribute verändert werden, aber die ursprüngliche Zuordnung der Platzhalter muss beachtet werden. Die abgefragten Attribute sind identisch zur `users_id` Abfrage.
|
|
|
* `$ldap_configs['usermail']`: Fragt die E-Mail Adresse zu einer Nutzerkennung ab. Wie bei den anderen Personenabfragen kann der Filter von `cn` auf andere Attribute geändert werden.
|
|
|
* `$ldap_configs['groups']`: Führt die Suche nach Gruppen durch. Die Platzhalter (`$`) in `ldap_filter` werden durch den Suchbegriff ersetzt. Standardmäßig werden die Attribute `cn` und `description` durchsucht, dies kann allerdings durch Anpassung von `ldap_filter` geändert werden. Es müssen zwei Attribute in `ldap_attributes` angegeben werden. Das erste Attribut wird als Gruppenkennung in SecDoc verwendet, während das zweite Attribut eine Beschreibung der Gruppe darstellen soll. Diese können ebenfalls ersetzt werden.
|
|
|
* `$ldap_configs['usergroups']`: Fragt alle Nutzergruppen zu einer Kennung ab, z.B. für die Prüfung von Zugriffsrechten. Der Platzhalter (`$`) in `ldap_filter` wird durch die Nutzerkennung ersetzt. Es wird standardmäßig nach dem Attribut `cn` gesucht, aber eine Suche beispielsweise nach `sAMAccountName` ist durch Anpassung des Filters möglich. Es wird das `memberof` Attribut genutzt. Dies sollte nicht geändert werden!
|
|
|
* `$ldap_configs['groupname']`: Holt die Gruppenbezeichnungen zu einer Gruppenkennung. Der Platzhalter (`$`) wird durch eine Gruppenkennung ersetzt. Die Suche erfolgt über das `cn` Attribut, dies kann aber durch Anpassung des Filters angepasst werden. Das Attribut `description` wird als Gruppenbezeichnung gewählt, kann aber auch durch ein beliebiges anderes Attribut ersetzt werden. Es wird nur ein Attribut verarbeitet.
|
|
|
* `$ldap_configs['users_id']`: Fragt Informationen zu einer bestimmten Nutzerkennung ab. Der Filter nutzt nutzt standardmäßig das `cn` Attribut, kann aber angepasst werden. Der Platzhalter wird hierbei durch die Nutzerkennung ersetzt. Die Anwendung erwartet 6 Attribute zur Abfrage in `ldap_attributes`, die der Reihe nach für folgende Werte in SecDoc genutzt werden: Nutzerkennung, Vorname, Nachname, Hauptgruppe/Abteilung/Beschreibung, Telefonnummer, E-Mail. Die Attribute können frei verändert werden, aber sollten passende Werte und die korrekte Reihenfolge beibehalten. Aktuell werden die Werte nur für die Anzeige von Personen in der Form `Vorname Nachname, Hauptgruppe, Telefon, E-Mail` verwendet.
|
|
|
* `$ldap_configs['users_one']` und `$ldap_configs['users_two']`: Durchsucht die Nutzer nach einer (Teil-)Kennung oder einem (Teil-)Namen. Falls eine Zeichenkette ohne Leerzeichen übergeben wird, wird `users_one` verwendet und es werden die Attribute `cn`, `sn` und `givenname` nach dem Suchbegriff durchsucht. Bei Zeichenketten mit Leerzeichen wird `users_two` verwendet und die Zeichenkette aufgeteilt in Vor- und Nachname und die Attribute `givenname` und `sn` mit der Kombination durchsucht. Wie immer können die Filter-Attribute verändert werden, aber die ursprüngliche Zuordnung der Platzhalter muss beachtet werden. Die abgefragten Attribute sind identisch zur `users_id` Abfrage.
|
|
|
* `$ldap_configs['usermail']`: Fragt die E-Mail Adresse zu einer Nutzerkennung ab. Wie bei den anderen Personenabfragen kann der Filter von `cn` auf andere Attribute geändert werden.
|
|
|
|
|
|
**Beispiel für eine angepasste Konfiguration:**
|
|
|
```php
|
... | ... | |