Wir haben eine Apache 2.2-Installation mit dieser Konfiguration auf einem Ubuntu 12.04:
cat /etc/apache2/sites-enabled/000-default
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
AuthType Basic
AuthName "Please provide USERNAME AND PASSWORD!"
AuthBasicProvider ldap
Order allow,deny
Allow from all
AuthLDAPURL "ldap://foo.com/c=uk,ou=bar,o=foo.com?mail"
Require valid-user
Require ldap-attribute dept=4F4623
Require ldap-attribute emailAddress=someone@somewhere.com
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel info
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
</VirtualHost>
Es funktioniert hervorragend mit LDAP-Authentifizierung! Wir haben ldap-utils, php5, apache2.2-common.
Frage:
Wie können wir eine Seite erstellen, zum Beispiel:
somedomain.com/selectorpage.html
leitet den angemeldeten Benutzer basierend auf seinem Benutzernamen auf eine andere Seite weiter?
Wenn also ein XY-Benutzer die "selectorpage.html" besucht, wird diese sofort auf die Seite XY.html umgeleitet. Wenn ein AB-Benutzer die "selectorpage.html" besucht, wird diese sofort auf die Seite AB.html umgeleitet. Oder gibt es dafür Apache-Weiterleitungen?
REMOTE_USER
Variable auf den angemeldeten Benutzer ( AuthLDAPRemoteUserAttribute könnte helfen) und verwenden Sie dannmod_rewrite
zum Umleiten: Verwenden Sie eine BedingungRewriteCond %{REMOTE_USER} (.*)
, um den Benutzernamen abzurufen, und leiten Sie sie anschließend mithilfe einer Umschreibungsregel für die Rückreferenzierung um das :RewriteRule .* /%1.html
, wobei% 1 durch den Benutzernamen ersetzt wird.