Hey Misagh, Thanks again for your response, figured it out after your comment, excellent, thank you!!! Next step, get MD5 out of these applications!!!
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:c="http://www.springframework.org/schema/c" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util" xmlns:sec="http://www.springframework.org/schema/security" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> <description> Nothing yet - work in progress </description> <!-- Copied from https://github.com/apereo/cas/blob/4.2.x/cas-server-webapp/src/main/webapp/WEB-INF/deployerConfigContext.xml --> <util:map id="authenticationHandlersResolvers"> <!-- https://apereo.github.io/cas/4.2.x/installation/Configuring-Principal-Resolution.html#principalresolver-vs-authenticationhandler we want to use the --> <!-- we want to use the value returned from queryDatabaseAuthenticationHandler --> <entry key-ref="appOneAuthenticationHandler" value="#{null}"/> <entry key-ref="appTwoAuthenticationHandler" value="#{null}"/> </util:map> <!-- https://apereo.github.io/cas/4.2.x/installation/Configuring-Authentication-Components.html#default-encoder --> <!--<alias name="defaultPasswordEncoder" alias="passwordEncoder"/>--> <!-- https://apereo.github.io/cas/4.2.x/installation/Database-Authentication.html --> <!--<alias name="queryDatabaseAuthenticationHandler" alias="primaryAuthenticationHandler"/>--> <alias name="dataSource" alias="queryDatabaseDataSource"/> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" p:driverClass="${database.driverClass}" p:jdbcUrl="${database.url}" p:user="${database.user}" p:password="${database.password}" p:initialPoolSize="${database.pool.minSize}" p:minPoolSize="${database.pool.minSize}" p:maxPoolSize="${database.pool.maxSize}" p:maxIdleTimeExcessConnections="${database.pool.maxIdleTime}" p:checkoutTimeout="${database.pool.maxWait}" p:acquireIncrement="${database.pool.acquireIncrement}" p:acquireRetryAttempts="${database.pool.acquireRetryAttempts}" p:acquireRetryDelay="${database.pool.acquireRetryDelay}" p:idleConnectionTestPeriod="${database.pool.idleConnectionTestPeriod}" p:preferredTestQuery="${database.pool.connectionHealthQuery}"/> <!-- Copied from https://github.com/apereo/cas/blob/4.2.x/cas-server-webapp/src/main/webapp/WEB-INF/deployerConfigContext.xml START--> <util:list id="authenticationMetadataPopulators"> <ref bean="successfulHandlerMetaDataPopulator"/> <ref bean="rememberMeAuthenticationMetaDataPopulator"/> </util:list> <bean id="attributeRepository" class="org.jasig.services.persondir.support.NamedStubPersonAttributeDao" p:backingMap-ref="attrRepoBackingMap"/> <util:map id="attrRepoBackingMap"> <entry key="uid" value="uid"/> </util:map> <alias name="ticketGrantingTicketExpirationPolicy" alias="grantingTicketExpirationPolicy"/> <alias name="multiTimeUseOrTimeoutExpirationPolicy" alias="serviceTicketExpirationPolicy"/> <bean id="auditTrailManager" class="org.jasig.inspektr.audit.support.Slf4jLoggingAuditTrailManager" p:entrySeparator="${cas.audit.singleline.separator:|}" p:useSingleLine="${cas.audit.singleline:false}"/> <alias name="neverThrottle" alias="authenticationThrottle"/> <util:list id="monitorsList"> <ref bean="memoryMonitor"/> <ref bean="sessionMonitor"/> </util:list> <alias name="anyAuthenticationPolicy" alias="authenticationPolicy"/> <alias name="acceptAnyAuthenticationPolicyFactory" alias="authenticationPolicyFactory"/> <alias name="serviceThemeResolver" alias="themeResolver"/> <alias name="defaultTicketRegistry" alias="ticketRegistry"/> <alias name="defaultPrincipalFactory" alias="principalFactory"/> <alias name="defaultAuthenticationTransactionManager" alias="authenticationTransactionManager"/> <alias name="defaultPrincipalElectionStrategy" alias="principalElectionStrategy"/> <alias name="tgcCipherExecutor" alias="defaultCookieCipherExecutor"/> <alias name="neverThrottle" alias="authenticationThrottle"/> <bean id="md5PasswordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder"> <constructor-arg value="MD5"/> <property name="characterEncoding" value="UTF-8"/> </bean> <bean id="sha256PasswordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder"> <constructor-arg value="SHA-256"/> <property name="characterEncoding" value="UTF-8"/> </bean> <bean id = "appOneAuthenticationHandler" class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"> <property name="dataSource" ref="queryDatabaseDataSource" /> <property name="sql" value="select SUBSTRING(password, 6) from user where login = ?" /> <property name="passwordEncoder" ref="md5PasswordEncoder"/> </bean> <bean id = "appTwoAuthenticationHandler" class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"> <property name="dataSource" ref="queryDatabaseDataSource" /> <property name="sql" value="select password_hash from noc_portal_sso.shiro_user where username = ?" /> <property name="passwordEncoder" ref="sha256PasswordEncoder"/> </bean> </beans> John On Thursday, 16 June 2016 16:48:00 UTC+1, Misagh Moayyed wrote: > > Yes, define the AuthN handler yourself directly in the file as a bean. > This is something the project is working on to make sure “auto > configuration” can take into account multiple handlers and such. > > > > *From:* [email protected] <javascript:> [mailto:[email protected] > <javascript:>] *On Behalf Of *John Rellis > *Sent:* Thursday, June 16, 2016 2:13 AM > *To:* CAS Community <[email protected] <javascript:>> > *Subject:* [cas-user] Possible to have more than one > QueryDatabaseAuthenticationHandlers with diff properties? > > > > Hey folks, > > > > I need to authenticate against more than one database, each database has > different schema and some have different password hash schemes. > Authenticating against any one of these should equal a success. > > > > Is it possible to have more than one QueryDatabaseAuthenticationHandler > with different properties for the following?? > > > > cas.authn.password.encoding.alg=SHA-256 > > cas.jdbc.authn.query.sql=select password_hash from shiro_user where > username = ? > > > > > > Many thanks in advance! > > > > *Currently this is snippet of my deployer* > > > > <!-- Copied from > https://github.com/apereo/cas/blob/4.2.x/cas-server-webapp/src/main/webapp/WEB-INF/deployerConfigContext.xml > > --> > > <util:map id="authenticationHandlersResolvers"> > > <!-- > https://apereo.github.io/cas/4.2.x/installation/Configuring-Principal-Resolution.html#principalresolver-vs-authenticationhandler > > we want to use the --> > > <!-- we want to use the value returned from > queryDatabaseAuthenticationHandler --> > > <entry key-ref="primaryAuthenticationHandler" value="#{null}"/> > > </util:map> > > > > > > > > > > <!-- > https://apereo.github.io/cas/4.2.x/installation/Configuring-Authentication-Components.html#default-encoder > > --> > > <alias name="defaultPasswordEncoder" alias="passwordEncoder"/> > > > > <!-- > https://apereo.github.io/cas/4.2.x/installation/Database-Authentication.html > --> > > <alias name="queryDatabaseAuthenticationHandler" > alias="primaryAuthenticationHandler"/> > > <alias name="dataSource" alias="queryDatabaseDataSource"/> > > <bean id="dataSource" > > class="com.mchange.v2.c3p0.ComboPooledDataSource" > > p:driverClass="${database.driverClass}" > > p:jdbcUrl="${database.url}" > > p:user="${database.user}" > > p:password="${database.password}" > > p:initialPoolSize="${database.pool.minSize}" > > p:minPoolSize="${database.pool.minSize}" > > p:maxPoolSize="${database.pool.maxSize}" > > p:maxIdleTimeExcessConnections="${database.pool.maxIdleTime}" > > p:checkoutTimeout="${database.pool.maxWait}" > > p:acquireIncrement="${database.pool.acquireIncrement}" > > p:acquireRetryAttempts="${database.pool.acquireRetryAttempts}" > > p:acquireRetryDelay="${database.pool.acquireRetryDelay}" > > > p:idleConnectionTestPeriod="${database.pool.idleConnectionTestPeriod}" > > p:preferredTestQuery="${database.pool.connectionHealthQuery}"/> > > -- > You received this message because you are subscribed to the Google Groups > "CAS Community" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] <javascript:>. > To post to this group, send email to [email protected] <javascript:>. > Visit this group at https://groups.google.com/a/apereo.org/group/cas-user/ > . > To view this discussion on the web visit > https://groups.google.com/a/apereo.org/d/msgid/cas-user/614af11a-b965-4e4d-865b-7939d036c933%40apereo.org > > <https://groups.google.com/a/apereo.org/d/msgid/cas-user/614af11a-b965-4e4d-865b-7939d036c933%40apereo.org?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/a/apereo.org/d/optout. > -- You received this message because you are subscribed to the Google Groups "CAS Community" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/a/apereo.org/group/cas-user/. To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/cas-user/7ecc031a-a365-4f4c-a951-9c90e3d2e693%40apereo.org. For more options, visit https://groups.google.com/a/apereo.org/d/optout.
