Adding the dependency in pom.xml is critical.

http://www.ja-sig.org/wiki/display/CASUM/LDAP

<!-- include in top-level pom.xml -->

<dependency>
     <groupId>${project.groupId}</groupId>
     <artifactId>cas-server-support-ldap</artifactId>
     <version>${project.version}</version></dependency>


On Wed, May 12, 2010 at 9:44 PM, Steve O'Brien <steve.obr...@hdesd.org>wrote:

>  I have been fumbling around for two days trying to get CAS running with
> LDAP-AD integration.  I am hoping that it is a simple fix like enabling the
> java class in the pom.xml he is my config followed by the cas.log output
> (sorry for the verbosity):
>
>
>
>
>
> <?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";
>
>  xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd";>
>
>
>
>     <bean id="contextSource"
> class="org.springframework.ldap.core.support.LdapContextSource">
>
>         <property name="pooled" value="true"/>
>
>         <property name="urls">
>
>             <list>
>
>                 <value>ldap://dc01.domain.com:3268/</value>
>
>             </list>
>
>         </property>
>
>         <property name="userDn" value="CN=ACCOUNT,DC=domain,DC=com"/>
>
>         <property name="password" value="PASSWORD"/>
>
>         <property name="baseEnvironmentProperties">
>
>             <map>
>
>                 <entry>
>
>                     <key>
>
>                         <value>java.naming.security.authentication</value>
>
>                     </key>
>
>                     <value>simple</value>
>
>                 </entry>
>
>             </map>
>
>         </property>
>
>     </bean>
>
>
>
>     <bean id="authenticationManager"
> class="org.jasig.cas.authentication.AuthenticationManagerImpl">
>
>         <property name="credentialsToPrincipalResolvers">
>
>             <list>
>
>                 <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.adaptors.ldap.BindLdapAuthenticationHandler">
>
>                     <property name="filter" value="sAMAccountName=%u" />
>
>                     <property name="searchBase"
> value="OU=Accounts,OU=Employees,DC=domain,DC=com" />
>
>                     <property name="contextSource" ref="contextSource" />
>
>                 </bean>
>
>                 -->
>
>                 <bean
> class="org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler">
>
>                   <property name="filter" value="sAMAccountName=%u" />
>
>                   <property name="searchBase"
> value="OU=Accounts,OU=Employees,DC=domain,DC=com" />
>
>                   <property name="contextSource" ref="contextSource" />
>
>                   <property name="ignorePartialResultException" value="yes"
> /> <!-- fix because of how AD returns results -->
>
>                 </bean>
>
>             </list>
>
>         </property>
>
>     </bean>
>
>
>
>
>
> <!-- from
> http://shibsp.ntu.ac.uk/confluence/display/SHIB2/Configure+CAS+Server+for+AD+Authentication-->
>
>
>
>    <bean id="userDetailsService"
> class="org.springframework.security.userdetails.memory.InMemoryDaoImpl">
>
>         <property name="userMap">
>
>             <value>
>
>
>
>           </value>
>
>         </property>
>
>     </bean>
>
>
>
>  <!--    <bean id="attributeRepository"
> class="org.jasig.services.persondir.support.StubPersonAttributeDao">
>
>         <property name="backingMap">
>
>             <map>
>
>                 <entry key="uid" value="uid" />
>
>             </map>
>
>         </property>
>
>     </bean>
>
>
>
>     <bean id="serviceRegistryDao"
> class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl" />
>
> -->
>
>
>
> <!-- Default section from stock file follows -->
>
>
>
>         <!--
>
>         Bean that defines the attributes that a service may return.  This
> example uses the Stub/Mock version.  A real implementation
>
>         may go against a database or LDAP server.  The id should remain
> "attributeRepository" though.
>
>         -->
>
>         <bean id="attributeRepository"
> class="org.jasig.services.persondir.support.StubPersonAttributeDao">
>
>                 <property name="backingMap">
>
>                         <map>
>
>                                 <entry key="uid" value="uid" />
>
>                                 <entry key="eduPersonAffiliation"
> value="eduPersonAffiliation" />
>
>                                 <entry key="groupMembership"
> value="groupMembership" />
>
>                         </map>
>
>                 </property>
>
>         </bean>
>
>
>
>         <!--
>
>         Sample, in-memory data store for the ServiceRegistry. A real
> implementation
>
>         would probably want to replace this with the JPA-backed
> ServiceRegistry DAO
>
>         The name of this bean should remain "serviceRegistryDao".
>
>         -->
>
>
>
>         <bean id="serviceRegistryDao"
> class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl" />
>
>
>
> </beans>
>
>
>
>
>
>
>
> Cas.log output:
>
>
>
>
>
> The Spring ContextLoaderListener we wrap threw on contextInitialized.
>
> But for our having caught this error, the web application context would not
> have initialized.
>
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'scheduler' defined in ServletContext resource
> [/WEB-INF/spring-configuration/applicationContext.xml]: Invocation of init
> method failed; nested exception is
> org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find
> class [org.springframework.security.userdetails.memory.InMemoryDaoImpl] for
> bean with name 'userDetailsService' defined in ServletContext resource
> [/WEB-INF/deployerConfigContext.xml]; nested exception is
> java.lang.ClassNotFoundException:
> org.springframework.security.userdetails.memory.InMemoryDaoImpl
>
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1403)
>
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
>
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
>
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
>
>         at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
>
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
>
>         at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:545)
>
>         at
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:871)
>
>         at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:423)
>
>         at
> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:272)
>
>         at
> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:196)
>
>         at
> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
>
>         at
> org.jasig.cas.web.init.SafeContextLoaderListener.contextInitialized_aroundBody0(SafeContextLoaderListener.java:62)
>
>         at
> org.jasig.cas.web.init.SafeContextLoaderListener.contextInitialized_aroundBody1$advice(SafeContextLoaderListener.java:44)
>
>         at
> org.jasig.cas.web.init.SafeContextLoaderListener.contextInitialized(SafeContextLoaderListener.java:1)
>
>         at
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
>
>         at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4212)
>
>         at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
>
>         at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
>
>         at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
>
>         at
> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:825)
>
>         at
> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:714)
>
>         at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
>
>         at
> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
>
>         at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
>
>         at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
>
>         at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
>
>         at
> org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
>
>         at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
>
>         at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>
>         at
> org.apache.catalina.core.StandardService.start(StandardService.java:448)
>
>         at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
>
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
>
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>
>         at java.lang.reflect.Method.invoke(Method.java:616)
>
>         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
>
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
>
> Caused by: org.springframework.beans.factory.CannotLoadBeanClassException:
> Cannot find class
> [org.springframework.security.userdetails.memory.InMemoryDaoImpl] for bean
> with name 'userDetailsService' defined in ServletContext resource
> [/WEB-INF/deployerConfigContext.xml]; nested exception is
> java.lang.ClassNotFoundException:
> org.springframework.security.userdetails.memory.InMemoryDaoImpl
>
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1208)
>
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:570)
>
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1277)
>
>         at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:303)
>
>         at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:382)
>
>         at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:376)
>
>         at
> org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:1109)
>
>         at
> org.jasig.cas.util.AutowiringSchedulerFactoryBean.afterPropertiesSet(AutowiringSchedulerFactoryBean.java:31)
>
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1460)
>
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1400)
>
>         ... 39 more
>
> Caused by: java.lang.ClassNotFoundException:
> org.springframework.security.userdetails.memory.InMemoryDaoImpl
>
>         at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1359)
>
>         at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
>
>         at org.springframework.util.ClassUtils.forName(ClassUtils.java:258)
>
>         at
> org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:408)
>
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1229)
>
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1200)
>
>
>
>
>
>
>
> Any help would be greatly appreciated
>
> TIA,
>
> Steve
>
> --
> You are currently subscribed to cas-user@lists.jasig.org as: pbe...@gmail.com
>
> To unsubscribe, change settings or access archives, see 
> http://www.ja-sig.org/wiki/display/JSG/cas-user
>
>

-- 
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

Reply via email to