mod_ldap Verzeichnis Berechtigung per LoginName vergeben.

Alles, was den Apache betrifft, kann hier besprochen werden.

mod_ldap Verzeichnis Berechtigung per LoginName vergeben.

Postby hartrud » 28. February 2008 16:21

Hallo,

ich suche nach Ideen oder Vorschläge wie ich nach einem Erfolgreichen Login über mod_ldap Verzeichnis Berechtigungen auf dem Webserver setzten kann.

Der USER ist erfolgreich angemeldet und darf dann auf ein Verzeichnis /webapps/ zugreifen wie alle anderen angemeldeten USER auch (require valid-user)

Zusätzlich soll der USER noch Berechtigungen auf ein Verzeichnis /reports/LoginName bekommen, wo aber nur der spezelle USER Berechtigungen hat (require ldap-user LoginName).
LoginName = Verzeichnis /reports/LoginName.

Als webserver wird apache 2.2.3 auf zLinux (sles10) verwendet.

1. Der USER Meldet sich per mod_ldap über LoginName/passwort an einem LDAP RACF (HOST) system an.
2. Nach Erfolgreicher Authentifizierung erhält er Zugang zur Applikation /webapps/
3. zusätzlich soll er noch Berechtigungen für seinen download Bereich (Verzeichnis) bekommen.
Wo nur dieser USER seine Dateien sehen / downloaden darf.

generell ist das kein Problem mittels mod_ldap zu realisieren.
Allerdings wird der Konfiguration Aufwand bei über 500 LoginNamen umständlich, deshalb hätte ich die Berechtigungen gern "automatisiert" vergeben.

Das ganze mal als Beispiel dargestellt:

User Login: test123
download Bereich: /reports/test123

(globel ldap) ===
LDAPTrustedGlobalCert CA_DER /etc/apache2/ssl.crt/T5CA.cer
LDAPVerifyServerCert off
LDAPSharedCacheSize 200000
LDAPCacheEntries 1024
LDAPCacheTTL 600
LDAPOpCacheEntries 1024
LDAPOpCacheTTL 600

<Location "/webapps/">

AuthType Basic
AuthName "Secured Area"
AuthzLDAPAuthoritative Off
AuthBasicProvider ldap
require valid-user
AuthLDAPUrl ldaps://12345678:636/profiletype=user,sysplex=T5?racfid
#AuthLDAPUsernamePattern ^([a-zA-Z0-9.]*)$
AuthLDAPConstructDN On
Options -Indexes FollowSymLinks
Order allow,deny
Allow from all

</Location>

===
die obenaufgührte konfig funktioniert und lässt alle USER die sich erfolgreich am Webserver angemeldet haben auf den Bereich /webapps/ zugreifen.


Konfiguration des dowload Bereiches:

User Login: test123
download Bereich: /reports/test123


<Directory " /reports/test123 ">
AuthType Basic
AuthName "Secured Area"
AuthzLDAPAuthoritative on
AuthBasicProvider ldap
require ldap-user test123
AuthLDAPUrl ldaps://12345678:636/profiletype=user,sysplex=T5?racfid
AuthLDAPConstructDN On
Options Indexes FollowSymLinks MultiViews
</Directory>


funktioniert ebenfalls wie gewünscht, der USER test123 darf nach erfolgreicher Anmeldung auf das Verzeichnis /reports/test123 zugreifen.


Nun habe ich das Problem das ich die konifg nicht für 500 user kopieren möchte oder eine .htacess pflegen möchte.
Ich hätte gerne eine "automatisierte Lösung" nach erfolgreichem Login steht der LoginName in der Apachen variablen $remote_user

so oder so ähnlich stell ich mir das vor. (geht natürlich net:-))

<Directory " /reports/$remote_user "> (where $remote_user = test123)
AuthType Basic
AuthName "Secured Area"
AuthzLDAPAuthoritative on
AuthBasicProvider ldap
require ldap-user $remote_user
AuthLDAPUrl ldaps://12345678:636/profiletype=user,sysplex=T5?racfid
AuthLDAPConstructDN On
Options Indexes FollowSymLinks MultiViews
</Directory>



mein erster Ansatz war jetzt mit mod_rewrite zu experimentieren: (noch nicht getestet)


Rewritecond %{REQUEST_URI} !^/reports/%{remote_user}.* [NC]
RewriteRule .* - [F]

Rewritecond %{REQUEST_URI} ^/reports/%{remote_user}.* [NC]
RewriteRule ^.*$ /reports/${REMOTE_USER}/ [NC,R,NS,L]


Allerdings ist das ja nur ein rewrite damit ist das Verzeichnis noch nicht geschützt, über die direkte URL kann man zugreifen.

Eine weitere Idee wäre Serverseitiges PHP / Perl einzusetzten, allerdings wäre es klasse es über eine konfigurations Lösung in der httpd.conf zu realisieren. (ohne skripte)


<?php
echo "AUTH_TYPE = ", $_SERVER['AUTH_TYPE'], "<br />\n";
echo "REMOTE_USER = ", $_SERVER['REMOTE_USER'], "<br />\n";
.......
?>

Manchmal sieht man ja den Wald vor lauter Bäumen nicht mehr,
vielleicht geht das ja viel einfacher als ich denke, bin für jede Idee Dankbar und offen.


Danke im voraus

Grüße hartrud
hartrud
 
Posts: 1
Joined: 28. February 2008 14:33

Return to Apache

Who is online

Users browsing this forum: No registered users and 2 guests