Módosítások

Shib2IdpTomcat6

3 252 bájt törölve, 2009. szeptember 25., 10:45
nincs szerkesztési összefoglaló
{{TRASH|Ezt a lapot össze kellene vonni [[Shib2IdpInstall|ezzel]], és az elavult infókat frissíteni}}
 
 
 
== JVM beállítások ==
A Tomcat6 jelenleg nem működik együtt tökéletesen 6-os JVM-mel (egész pontosan a commons-dbcp csomag a JDBC API pici megváltozása miatt), ezért egyelőre ajánlott 5-ös JVM-mel futtatni - FIXME.
chown tomcat:tomcat ${SHIB_HOME}/logs
cp ${SHIB_HOME}/war/idp.war /var/lib/tomcat-6/webapps/ROOT
 
== Autentikáció ==
Az Idp2 már képes arra, hogy ne csak a külső konténer segítségével autentikáljon, hanem beépítetten támogatja az LDAP ill. Kerberos alapú hitelesítést.
 
 
=== LDAP Autentikáció (FORM) beállítása ===
Szerkesszük a ${SHIB_HOME}/conf/login.config -ot:
 
ShibUserPassAuth {
edu.vt.middleware.ldap.jaas.LdapLoginModule required
host="ldap.example.com"
base="ou=people,dc=example,dc=com"
ssl="false"
serviceUser="userid=example-system,ou=systems,dc=example,dc=com"
serviceCredential="password"
userField="uid";
}
 
A serviceUser és a serviceCredential kihagyható, ekkor anonymous bind történik (azonban ilyen esetben a helytelen név / jelszó megadása LDAP Exception-t okoz és nem a jól értelmezhető hibás név / jelszó üzenetet adja a felhasználónak)
 
Ezután be kell állítani, hogy ezt a bekonfigurált autentikációt használja a Shibboleth (${SHIB_HOME}/conf/handlers.xml)
 
<LoginHandler xsi:type="UsernamePassword"
authenticationDuration="240"
jaasConfigurationLocation="file://${SHIB_HOME}/conf/login.config">
<AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</AuthenticationMethod>
</LoginHandler>
<!-- SSO-hoz kell hogy az előző session-t át tudja venni -->
<LoginHandler xsi:type="PreviousSession">
<AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSession</AuthenticationMethod>
</LoginHandler>
 
Az authenticationDuration paraméter elhagyása esetén az IdP 30 perc érvényességgel állítja ki a munkamenetet (<AuthnStatement SessionNotOnOrAfter="...">), tehát akár aktív tevékenység esetén is 30 perc múlva lejár a felhasználó session-je. Ezt érdemes tehát átállítani magasabb értékre.
 
A FORM-ot az idp.war -ban tudjuk testreszabni (login.jsp). A szállított login.jsp által beállított FORM tag és INPUT tag-ek tartalmát ne módosítsuk!
 
=== MySQL Autentikáció Apache-on keresztül ===
Amennyiben MySQL alapú autentikációra van szükség, akkor az Idp2 szükségszerűen kiadja a feladatot, lévén nem tud MySQL-ből autentikálni (a fejlesztők a 2.2-es változatra ígérik). Jellemzően ilyenkor vagy az Apache, vagy a Tomcat végzi el ezt a feladatot. Az alábbiakban leírt Apache beállítások elsőre nyakatekertnek tűnhetnek, de az Apache 2.2-es sorozatában előforduló - ez idáig érdemben nem javított - bug miatt ez a megoldás működik csak.
 
Telepíteni kell a MySQL autentikációs Apache modult:
apt-get install libapache2-mod-auth-mysql
Engedélyezni kell a modul használatát
a2enmod auth_mysql
Az Apache adott hosthoz tartozó configjában meg kell adni:
Auth_MySQL_Info <host> <DB_user> <DB_password>
Ugyanitt meg kell adni az adott Location-re vonatkozó beállításokat - itt látja majd a webszerver, hogy ha az adott url-re érkezett kérés, akkor MySQL-ből kell autentikálnia az itt megadott paraméterek szerint
<Location /vho-idp/Authn/RemoteUser>
AuthType Basic
AuthName "You can login here"
AuthUserFile /dev/null
AuthBasicAuthoritative Off
AuthMySQL on
AuthMySQL_Authoritative off
AuthMySQL_DB VHOtools
AuthMySQL_Password_Table vho_Users
AuthMySQL_Password_Field password
AuthMySQL_Encryption_Types PHP_MD5
require valid-user
</Location>
== Új SAML SP felvétele ==

Navigációs menü