Bei meiner Apache-Konfiguration verwende ich mod_auth_kerberos zur Authentifizierung und mod_jk zur Anbindung eines Tomcats. Mein Problem ist, dass ich auf das ROOT-Verzeichnis authentifizierung benötige, in einigen Unterverzeichnissen jedoch nicht. Da die Verzeichnisse jedoch vom Tomcat verwaltet werden und nicht vom Apache, muss ich statt "Directory" "Location" verwenden.
So funktionierts prinzipiell:
- Code: Select all
<Location "/unterverzeichnis">
Allow from all
Satisfy any
</Location>
<Location ~ "/(?!unterverzeichnis/*)">
AuthType Kerberos
AuthName "Kerberos Login"
KrbAuthRealms DOMAIN.NET
KrbServiceName HTTP
Krb5Keytab /etc/apache2/krb_keytab
KrbMethodNegotiate on
KrbMethodK5Passwd on
KrbVerifyKDC off
KrbSaveCredentials on
require valid-user
</Location>
JkMount /* tomcat
Mühsam ist dieser Konfigurationsweg jedoch, wenn viele Unterverzeichnisse oder Ressourcen ausgenommen werden sollen, da ich bei der Location mit Kerberos-Authentifizierung alle Ressourcen ausnehmen muss, wo oben schon explizit "Satisfy any" angegeben ist. Ich möchte Direktiven wie
<Location ~ "/(((?!verzeichnis1/*)(?!verzeichnis2))(?!verzeichnis3*))(?!verzeichnis4*)"> vermeiden, die einzige "Lösung", die ich im Netz dazu gefunden habe, ist, statt "Location" "Directory" zu verwenden, was ja auch nicht richtig ist, wenn es sich nicht um physische Verzeichnisse handelt.
Gibt es dafür nicht eine schönere Lösung?
LG,
Hanspeter