I am upgrading our CAS infrastructure to version 3.6.0 and to include support for Duo authentication. It authenticates users and records their tickets in its SQL Server database fine. I may view its service registry via its Services Management interface, but get a "CAS is Unavailable" error when trying to edit the services.
Attached are copies of its deployerConfigContext.xml file and the log file containing the error that is produced when trying to edit the services. Please help me resolve this problem. Thank you. Alex -- You are currently subscribed to cas-user@lists.jasig.org as: arch...@mail-archive.com To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user
<?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:p="http://www.springframework.org/schema/p" xmlns:c="http://www.springframework.org/schema/c" xmlns:sec="http://www.springframework.org/schema/security" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:cas="http://unicon.net/schema/cas" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd http://unicon.net/schema/cas http://unicon.net/schema/cas/cas-addons.xsd"> <bean id="authenticationManager" class="org.jasig.cas.authentication.AuthenticationManagerImpl"> <property name="credentialsToPrincipalResolvers"> <list> <bean class="org.jasig.cas.authentication.principal.CredentialsToLDAPAttributePrincipalResolver"> <property name="credentialsToPrincipalResolver"> <bean class="org.jasig.cas.authentication.principal.UsernamePasswordCredentialsToPrincipalResolver" /> </property> <property name="filter" value="${ldap.filter}" /> <property name="principalAttributeName" value="${ldap.login.atttibute}" /> <property name="searchBase" value="${ldap.searchbase}" /> <property name="contextSource" ref="contextSource" /> <property name="attributeRepository"> <ref bean="attributeRepository" /> </property> </bean> <bean class="org.jasig.cas.authentication.principal.UsernamePasswordCredentialsToPrincipalResolver" /> <bean class="org.jasig.cas.authentication.principal.HttpBasedServiceCredentialsToPrincipalResolver"/> </list> </property> <property name="authenticationHandlers"> <list> <bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler" p:httpClient-ref="httpClient"/> <!-- bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler"/ --> <bean class="org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler"> <property name="filter" value="${ldap.filter}" /> <property name="searchBase" value="${ldap.searchbase}" /> <property name="contextSource" ref="contextSource" /> <property name="searchContextSource" ref="pooledContextSource" /> <property name="ignorePartialResultException" value="true" /> </bean> </list> </property> <property name="authenticationMetaDataPopulators"> <list> <bean class="org.jasig.cas.authentication.SamlAuthenticationMetaDataPopulator" /> </list> </property> </bean> <bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource"> <property name="anonymousReadOnly" value="false" /> <property name="password" value="${ldap.passwd}" /> <property name="pooled" value="false" /> <property name="urls"> <list> <value>${ldap.url1}</value> <value>${ldap.url2}</value> <value>${ldap.url3}</value> <value>${ldap.url4}</value> </list> </property> <property name="userDn" value="${ldap.binddn}" /> <property name="baseEnvironmentProperties"> <map> <entry key="com.sun.jndi.ldap.connect.timeout" value="${ldap.connectTimeout}" /> <entry key="com.sun.jndi.ldap.read.timeout" value="${ldap.readTimeout}" /> <entry key="java.naming.security.authentication" value="simple" /> </map> </property> </bean> <bean id="pooledContextSource" class="org.springframework.ldap.pool.factory.PoolingContextSource" p:minIdle="${ldap.pool.minIdle}" p:maxIdle="${ldap.pool.maxIdle}" p:maxActive="${ldap.pool.maxSize}" p:maxWait="${ldap.pool.maxWait}" p:timeBetweenEvictionRunsMillis="${ldap.pool.evictionPeriod}" p:minEvictableIdleTimeMillis="${ldap.pool.idleTime}" p:testOnBorrow="${ldap.pool.testOnBorrow}" p:testWhileIdle="${ldap.pool.testWhileIdle}" p:dirContextValidator-ref="dirContextValidator" p:contextSource-ref="contextSource" /> <bean id="dirContextValidator" class="org.springframework.ldap.pool.validation.DefaultDirContextValidator" p:base="" p:filter="objectclass=*"> <property name="searchControls"> <bean class="javax.naming.directory.SearchControls" p:timeLimit="${ldap.searchTimeout}" p:countLimit="1" p:searchScope="0" p:returningAttributes="" /> </property> </bean> <bean id="attributeRepository" class="org.jasig.services.persondir.support.ldap.LdapPersonAttributeDao"> <property name="contextSource" ref="contextSource" /> <property name="baseDN" value="${ldap.searchbase}" /> <property name="requireAllQueryAttributes" value="true" /> <!-- Attribute mapping between principal (key) and LDAP (value) names used to perform the LDAP search. By default, multiple search criteria are ANDed together. Set the queryType property to change to OR. --> <property name="queryAttributeMapping"> <map> <entry key="username" value="${ldap.login.atttibute}" /> </map> </property> <property name="resultAttributeMapping"> <map> <!-- Mapping beetween LDAP entry attributes (key) and Principal's (value) --> <entry key="cn" value="cn"/> <entry key="displayName" value="displayName"/> <entry key="givenName" value="givenName"/> <entry key="mail" value="mail"/> <entry key="ou" value="ou"/> <entry key="sn" value="sn"/> <entry key="uid" value="uid"/> </map> </property> </bean> <!-- cas:json-attribute-repository/ --> <!-- cas:json-services-registry read-write="true"/ --> <cas:inspektr-log-files-audit-manager/> <cas:default-health-check-monitor/> <sec:user-service id="userDetailsService"> <sec:user name="casuser" authorities="none"/> <sec:user name="casadmin" authorities="ROLE_ADMIN"/> </sec:user-service> <!-- ServiceRegistry configuration The name of this bean must remain "serviceRegistryDao" --> <bean id="serviceRegistryDao" class="org.jasig.cas.services.JpaServiceRegistryDaoImpl" p:entityManagerFactory-ref="entityManagerFactory" /> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <property name="generateDdl" value="true"/> <property name="showSql" value="true" /> </bean> </property> <property name="jpaProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory"/> </bean> <tx:annotation-driven transaction-manager="transactionManager"/> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" p:driverClassName="net.sourceforge.jtds.jdbc.Driver" p:url="${service.registry.url}" p:username="${service.registry.username}" p:password="${service.registry.password}"/> </beans>
localhost.log
Description: Binary data