Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
de:shibidp:installation_jdbc-plugin_und_nashorn-plugin [2024/06/06 16:03] – Doreen Liebenau | de:shibidp:installation_jdbc-plugin_und_nashorn-plugin [2024/09/23 16:25] (aktuell) – Änderung von tomcat-pooling auf dbcp2, Anpassung mysql.class Doreen Liebenau |
---|
| |
Mittels Plugin-Installationsprogramm lassen Sie sich die installierten Plugins und deren Status anzeigen: | Mittels Plugin-Installationsprogramm lassen Sie sich die installierten Plugins und deren Status anzeigen: |
<code> | <code bash> |
/opt/shibboleth-idp/bin/plugin.sh -fl | root@idp:~# /opt/shibboleth-idp/bin/plugin.sh -fl |
</code> | </code> |
| |
Möglicher Output: | Möglicher Output: |
<code> | <code bash> |
Plugin: net.shibboleth.plugin.storage.jdbc Current Version: 1.0.3 | Plugin: net.shibboleth.plugin.storage.jdbc Current Version: 1.0.3 |
Versions | Versions |
1 row in set (0.000 sec)</code> | 1 row in set (0.000 sec)</code> |
* In der Dokumentation Ihrer Datenbank-Software finden Sie die Umstellungsmöglichkeiten und Hinweise, was ggf. bzgl. der Länge der Werte zu beachten ist (hier etwa für [[https://mariadb.com/kb/en/setting-character-sets-and-collations/|MariaDB]]). | * In der Dokumentation Ihrer Datenbank-Software finden Sie die Umstellungsmöglichkeiten und Hinweise, was ggf. bzgl. der Länge der Werte zu beachten ist (hier etwa für [[https://mariadb.com/kb/en/setting-character-sets-and-collations/|MariaDB]]). |
* Um die Collation für die ganze Tabelle ''StorageRecords'' umzustellen, gehen Sie wie folgt vor:<code>MariaDB[idp]> ALTER TABLE StorageRecords CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;</code> | * Um die Collation für die ganze Tabelle ''StorageRecords'' umzustellen, gehen Sie wie folgt vor:<code mysql>MariaDB[idp]> ALTER TABLE StorageRecords CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;</code> |
- Installation des JDBC-Plugins (ab 4.2):<code>/opt/shibboleth-idp/bin/plugin.sh -I net.shibboleth.plugin.storage.jdbc</code> | - Installation des JDBC-Plugins (ab 4.2):<code bash>root@idp:~# /opt/shibboleth-idp/bin/plugin.sh -I net.shibboleth.plugin.storage.jdbc</code> |
- Änderung der Konfiguration in ''conf/global.xml'':<code xml> <!-- VORHER --> | <!-- NACHHER --> | - Änderung der Konfiguration in ''conf/global.xml'':<code> <!-- VORHER --> | <!-- NACHHER --> |
<bean id="shibboleth.MySQLDataSource" <bean id="shibboleth.MySQLDataSource" | <bean id="shibboleth.MySQLDataSource" <bean id="shibboleth.MySQLDataSource" |
class="%{mysql.class}" class="%{mysql.class}" | class="%{mysql.class}" class="%{mysql.class}" |
p:username="%{mysql.username}" p:username="%{mysql.username}" | p:username="%{mysql.username}" p:username="%{mysql.username}" |
p:password="%{mysql.password}" p:password="%{mysql.password}" | p:password="%{mysql.password}" p:password="%{mysql.password}" |
p:maxWait="15000" p:maxWait="15000" | p:maxWait="15000" | p:maxWaitMillis="15000" |
p:testOnBorrow="true" p:testOnBorrow="true" | p:testOnBorrow="true" p:testOnBorrow="true" |
p:maxActive="100" p:maxActive="100" | p:maxActive="100" | p:maxTotal="100" |
p:maxIdle="100" p:maxIdle="100" | p:maxIdle="100" p:maxIdle="100" |
p:validationQuery="select 1" p:validationQuery="select 1" | p:validationQuery="select 1" p:validationQuery="select 1" |
- Falls in Ihrer ''conf/idp.properties'' noch ''shibboleth.JPAStorageService'' vorkommt, ersetzen Sie die Stellen durch ''JDBCStorageService''.<code properties>idp.session.StorageService = JDBCStorageService | - Falls in Ihrer ''conf/idp.properties'' noch ''shibboleth.JPAStorageService'' vorkommt, ersetzen Sie die Stellen durch ''JDBCStorageService''.<code properties>idp.session.StorageService = JDBCStorageService |
idp.consent.StorageService = JDBCStorageService</code> | idp.consent.StorageService = JDBCStorageService</code> |
| - Die Shibboleth-Entwickler empfehlen nicht mehr das tomcat-pooling zu verwenden, sondern [[https://shibboleth.atlassian.net/wiki/spaces/IDPPLUGINS/pages/2989096970/JDBCStorageService#Connection-Pooling | DBCP 2]]. Die Datenbank-Class wird entsprechend in ''conf/idp.properties'' angepasst:<code>mysql.class = org.apache.commons.dbcp2.BasicDataSource</code> |
- Wenn Sie darüber hinaus das OIDC-Plugin auf Ihrem IdP nutzen, kann es sein, dass Sie den String ''shibboleth.JPAStorageService'' auch in den Dateien ''conf/oidc.properties''...<code properties>idp.oidc.dynreg.StorageService = JDBCStorageService</code>... und/oder ''conf/oidc-clientinfo-resolvers.xml'' ersetzen müssen.<code xml><bean id="StorageClientInformationResolver" parent="shibboleth.oidc.StorageClientInformationResolver" | - Wenn Sie darüber hinaus das OIDC-Plugin auf Ihrem IdP nutzen, kann es sein, dass Sie den String ''shibboleth.JPAStorageService'' auch in den Dateien ''conf/oidc.properties''...<code properties>idp.oidc.dynreg.StorageService = JDBCStorageService</code>... und/oder ''conf/oidc-clientinfo-resolvers.xml'' ersetzen müssen.<code xml><bean id="StorageClientInformationResolver" parent="shibboleth.oidc.StorageClientInformationResolver" |
p:storageService-ref="JDBCStorageService" /></code> | p:storageService-ref="JDBCStorageService" /></code> |
</callout> | </callout> |
| |
Eine Voraussetzung für den Betrieb des IdP 5.x ist JDK 17. Ab dem Java Development Kit 15 wird die Javascript Scripting Engine Nashorn nicht mehr mit ausliefert. Der IdP benötigt sie jedoch, um ggf. die Javascript-Anteile bei der Definition von Scripted Attributes in ''conf/attribute-resolver.xml'' auszuführen. Sie können die Funktionalität über das Nashorn-Plugin ergänzen. Es muss lediglich installiert, aber nicht konfiguriert werden (ab 4.2):<code>/opt/shibboleth-idp/bin/plugin.sh -I net.shibboleth.idp.plugin.nashorn</code> | Eine Voraussetzung für den Betrieb des IdP 5.x ist JDK 17. Ab dem Java Development Kit 15 wird die Javascript Scripting Engine Nashorn nicht mehr mit ausliefert. Der IdP benötigt sie jedoch, um ggf. die Javascript-Anteile bei der Definition von Scripted Attributes in ''conf/attribute-resolver.xml'' auszuführen. Sie können die Funktionalität über das Nashorn-Plugin ergänzen. Es muss lediglich installiert, aber nicht konfiguriert werden (ab 4.2): |
| <code bash>root@idp:~# /opt/shibboleth-idp/bin/plugin.sh -I net.shibboleth.idp.plugin.nashorn</code> |
| |
| |
| |
| |