Startseite UR
Eine Zugangsbeschränkung für Verzeichnisse, die dann nur für Universitätsangehörige zugänglich sind. Der Nutzer muss sich mit seinem RZ-Passwort authentifizieren. Dabei kann der Zugang auf bestimmte Accounts oder Gruppen von Accounts eingeschränkt werden.
Er funktioniert für HTML-, PDF-, Bild- und Mediendateien die klassischerweise zum Herunterladen (download) angeboten werden. Er funktioniert aber nicht mit Programmdateien (PHP). Will man diesen Mechanismus mit PHP-Skripten verwenden, so muss vorher einen Antrag auf Verwendung des RZ-Session-Management gestellt werden.
Damit der RZ-Passwort-Schutz für ein Verzeichnis (und alle darunter liegenden) aktiv wird, ist darin nur eine Datei namens .htaccess mit folgenden drei Zeilen Inhalt notwendig:
| Datei-Inhalt | Bemerkungen | |
ErrorDocument 403 /Fehler/403_intern.phtml order allow,deny deny from all |
Die Fehlerbehandlung benutzt das Session-Management-System, um eine RZ-Passwort-Prüfung durchzuführen. |
Man kann die Eigenschaften der Apache-Konfiguration in der .htaccess-Datei nutzen, um die Passwortprüfung auf bestimmten Dateien zu beschränken:
| Datei-Inhalt | Bemerkungen | |
<Files *.html> ErrorDocument 403 /Fehler/403_intern.phtml order allow,deny deny from all </Files> |
Nur bei Dateinamen, die mit .html enden, wird dieser Mechanismus verwendet. |
Ohne weitere Angaben ist der Zugang nur mit einem RZ-Account möglich. Um den Kreis der Benutzer, z.B. weiter einzuschränken, kann man Listen der erlaubten oder verbotenen RZ-Benutzer sowie erlaubten oder verbotenen RZ-Benutzergruppen in einer weiteren Datei .sessionacl angeben. Diese Datei enthält Zeilen mit änlicher Syntax wie bei Apache-Konfigurationsdateien.
anweisung liste
wobei folgende Werte als anweisung erkannt werden:
| anweisung | liste |
| Allow | eine Liste der erlaubten Benutzer |
| Deny | eine Liste der verbotenen Benutzer |
| AllowGroup | eine Liste der erlaubten Hauptgruppen (all ist auch möglich) |
| DenyGroup | eine Liste der verbotenen Hauptgruppen (all ist auch möglich) |
| ErrorUrl | der URL, auf denen verzweigt wird, wenn der angemeldete Benutzer verboten ist |
Die Elemente der Listen können durch Zwischenraum oder Komma getrennt werden. Es dürfen beliebig viele Zwischenräume vor oder nach anweisung vorkommen. Groß-/Kleinschreibung ist egal. Als Hauptgruppe wird der NDS-Container der dritten Ebene benutzt. Bei
.vip01234.4.stud.fh-regensburg.de
ist die Hauptgruppe z.B. stud und bei
.mim09509.rz.uni-regensburg.de
ist sie rz.
| Datei-Inhalt | Bemerkungen | |
AllowGroup rz biologie allow mim05104 deny rzd03380, wuf04055 |
Alle Benutzer in den Container rz und biologie mit Ausnahme von .wuf04055.allgemein.physik.uni-regensburg.de und .rzd03380.rz.uni-regensburg.de dürfen zugreifen. Zusätzlich darf .mim05104.extern.stud.uni-regensburg zugreifen. |
Im obigen Beispiel ist die Angabe deny wuf04055 überflüssig, da dieser Benutzer weder im Container rz noch im biologie ist.
Als ErrorUrl darf ein Dateiname relativ zu dem Verzeichnis, in dem die .sessionacl-Datei steht, ein Dateiname mit Pfad ab dem Document Root oder ein voller URL angegeben werden.
| Datei-Inhalt | Bemerkungen | |
DenyGroup all Allow mim09509 wag13515 rua19449, pid09504, rzd03380 ErrorUrl internes/fehler.phtml |
Zugriff wird für alle Benutzer verweigert mit Ausnahme von mim09509, wag13515, rua19449, pid09504 und rzd03380 |
Um die RZ-Sessions mit RZ-Passwortkontrolle in PHP-Skripten zu verwenden, muss ein sog. Bereich vereinbart werden (s. Notizen über Sessions). Leider können aus technischen Gründen der automatische Download-Mechanismus und die RZ-Sessions nicht im gleichen Skript verwendet werden. Der allgemeine Download-Mechanismus funktioniert auch nicht für PHP-Skripten. Um den hier beschiebenen Mechanismus zu verwenden, gibt es drei Möglichkeiten:
Die erste Alternative is natürlich einfacher. Will man aber PHP-Skripten verwenden, so muss eine der anderen Alternativen benutzt werden.
Um diese Verfahren zu verwenden, müssen die Datei
/www/htdocs/Fehler/403_intern.phtml
bzw.
/www-cgi/htdocs/Fehler/403_intern.phtml
in das entsprechende Verzeichnis kopiert, die Zeilen
$rzsess_bereich = 'UniIntern'; $allow_php = FALSE;
entsprechend geändert und eine entsprechende .htaccess-Datei erzeugt werden.