First, I would recommend starting with the configuration file in the release
that you're interested in rather than from the NTU web site.  You should be
able to find the configuration file in the releases download or from our SVN
server for your release:

https://www.ja-sig.org/svn/cas3/tags/

That should be a good starting point for the correct configuration.  And
then build on top of that.

Cheers,
Scott

On Thu, May 13, 2010 at 12:52 PM, Steve O'Brien <steve.obr...@hdesd.org>wrote:

>  If you are asking me then I pieced a few things together since I could
> not find a single complete reference (I would love to know if there is
> one!).
>
>
>
> Most of it from this:
>
> http://www.ja-sig.org/wiki/display/CASUM/LDAP
>
>
>
> But there is no mention there of the userDetails piece
>
> So I took that from:
>
>
> https://shibsp.ntu.ac.uk/confluence/display/SHIB2/Configure+CAS+Server+for+AD+Authentication
>
>
>
>
>
> Thanks!
>
>
>
> Steve O'Brien
>
>
>
> *From:* Scott Battaglia [mailto:scott.battag...@gmail.com]
> *Sent:* Thursday, May 13, 2010 8:02 AM
> *To:* cas-user@lists.jasig.org
> *Subject:* [BULK] Re: [cas-user] Trying to build AD-LDAP enabled CAS
> *Importance:* Low
>
>
>
> You're probably referencing an old version of Spring Security. Where did
> you get that configuration from?
>
>  On Thu, May 13, 2010 at 10:09 AM, Patrick Berry <pbe...@gmail.com> wrote:
>
> 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: 
> scott.battag...@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: 
> steve.obr...@hdesd.org
>
>
> 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: 
> scott.battag...@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