Dies ist eine alte Version des Dokuments!


Basic-Auth mithilfe von Tomcat

Nicht mehr empfohlen

Es ist einfacher, die ECP-Schnittstelle über Basic Auth mit Apache zu schützen.

1. web.xml (unter /edit-webapp/WEB-INF bearbeiten):
Die beiden Blöcke am Ende ent-kommentieren: „Uncomment to use container managed authentication“ und „Uncomment if you want BASIC auth managed by the container“

2. Context Fragment in Tomcat-Konfiguration anpassen.
Das sieht dann ungefähr so aus (appName, Pfade etc. ggf. anpassen):

/etc/tomcat8/Catalina/localhost/idp.xml
<Context docBase="/opt/shibboleth-idp/war/idp.war"
         privileged="true"
         antiResourceLocking="false"
         unpackWAR="true"
         swallowOutput="true">
  <Realm className="org.apache.catalina.realm.JAASRealm" appName="ShibUserPassAuth"/>
</Context>

3. Tomcat den Pfad zur JAAS login.config als Startparameter mitgeben (unter Debian in /etc/default/tomcat8):

/etc/default/tomcat8
JAVA_OPTS=" ... -Djava.security.auth.login.config=file:/opt/shibboleth-idp/login.config
..."

4. /opt/shibboleth-idp/login.config

ACHTUNG: die Java-Klasse ist eine andere als bei der gewohnten login.config des IdP 2.x !!

/opt/shibboleth-idp/login.config
ShibUserPassAuth {
   org.ldaptive.jaas.LdapLoginModule required
      ldapUrl="..."
      ssl="true"
      bindDn="..."
      bindCredential="..."
      baseDn="..."
      userFilter="uid={user}"
      logCredentials="false"
   ;
};
  • Zuletzt geändert: vor 4 Jahren