Did you include the required dependency in the pom file, as detailed at the
top of the LDAP page?

-Scott

On Dec 3, 2007 12:36 PM, Jonathan Hayward http://JonathansCorner.com <
[EMAIL PROTECTED]> wrote:

> Thank you. I'm having another difficulty; I'm working from the
> instructions at 
> http://www.ja-sig.org/wiki/display/CAS/Examples+to+Configure+CAS
> and http://www.ja-sig.org/wiki/display/CASUM/LDAP :
>
> 17:26:02,589 INFO  [STDOUT] 2007-12-03 17:26:02,589 ERROR [
> org.apache.catalina.core.ContainerBase .[jboss.web].[localhost].[/cas-web]]
> - <SafeDispatcherServlet:
> The Spring DispatcherServlet we wrap threw on init.
> But for our having caught this error, the servlet would not have
> initialized.>
> org.springframework.beans.factory.BeanDefinitionStoreException : Error
> registering bean with name 'contextSource' defined in ServletContext
> resource [/WEB-INF/deployerConfigContext.xml]: Bean class [
> org.jasig.cas.adaptors.ldap.util.Authe
> nticatedLdapContextSource] not found; nested exception is
> java.lang.ClassNotFoundException:
> org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource
> Caused by:
> java.lang.ClassNotFoundException:
> org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource
> [snip]
>
> My current draft of deployerConfigContext.xml reads as below. Do any
> errors jump out?
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE beans PUBLIC  "-//SPRING//DTD BEAN//EN" "
> http://www.springframework.org/dtd/spring-beans.dtd";>
> <!--
>         | deployerConfigContext.xml centralizes into one file some of the
> declarative configuration that
>         | all CAS deployers will need to modify.
>         |
>         | This file declares some of the Spring-managed JavaBeans that
> make up a CAS deployment.
>         | The beans declared in this file are instantiated at context
> initialization time by the Spring
>         | ContextLoaderListener declared in web.xml.  It finds this file
> because this
>         | file is among those declared in the context parameter
> "contextConfigLocation".
>         |
>         | By far the most common change you will need to make in this file
> is to change the last bean
>         | declaration to replace the default
> SimpleTestUsernamePasswordAuthenticationHandler with
>         | one implementing your approach for authenticating usernames and
> passwords.
>         +-->
> <beans>
>         <!--
>                 | This bean declares our AuthenticationManager.  The
> CentralAuthenticationService service bean
>                 | declared in applicationContext.xml picks up this
> AuthenticationManager by reference to its id,
>                 | "authenticationManager".  Most deployers will be able to
> use the default AuthenticationManager
>                 | implementation and so do not need to change the class of
> this bean.  We include the whole
>                 | AuthenticationManager here in the userConfigContext.xmlso 
> that you can see the things you will
>                 | need to change in context.
>                 +-->
>         <bean id="authenticationManager"
>                 class="
> org.jasig.cas.authentication.AuthenticationManagerImpl">
>                 <!--
>                         | This is the List of
> CredentialToPrincipalResolvers that identify what Principal is trying to
> authenticate.
>                         | The AuthenticationManagerImpl considers them in
> order, finding a CredentialToPrincipalResolver which
>                         | supports the presented credentials.
>                         |
>                         | AuthenticationManagerImpl uses these resolvers
> for two purposes.  First, it uses them to identify the Principal
>                         | attempting to authenticate to CAS /login .  In
> the default configuration, it is the DefaultCredentialsToPrincipalResolver
>                         | that fills this role.  If you are using some
> other kind of credentials than UsernamePasswordCredentials, you will need to
> replace
>                         | DefaultCredentialsToPrincipalResolver with a
> CredentialsToPrincipalResolver that supports the credentials you are
>                         | using.
>                         |
>                         | Second, AuthenticationManagerImpl uses these
> resolvers to identify a service requesting a proxy granting ticket.
>                         | In the default configuration, it is the
> HttpBasedServiceCredentialsToPrincipalResolver that serves this purpose.
>                         | You will need to change this list if you are
> identifying services by something more or other than their callback URL.
>                         +-->
>                 <property name="credentialsToPrincipalResolvers">
>                         <list>
>                                 <!--
>                                         |
> UsernamePasswordCredentialsToPrincipalResolver supports the
> UsernamePasswordCredentials that we use for /login
>                                         | by default and produces
> SimplePrincipal instances conveying the username from the credentials.
>                                         |
>                                         | If you've changed your
> LoginFormAction to use credentials other than UsernamePasswordCredentials
> then you will also
>                                         | need to change this bean
> declaration (or add additional declarations) to declare a
> CredentialsToPrincipalResolver that supports the
>                                         | Credentials you are using.
>                                         +-->
>                                 <bean
>                                         class="
> org.jasig.cas.authentication.principal.UsernamePasswordCredentialsToPrincipalResolver"
>  />
>                                 <!--
>                                         |
> HttpBasedServiceCredentialsToPrincipalResolver supports
> HttpBasedCredentials.  It supports the CAS 2.0 approach of
>                                         | authenticating services by SSL
> callback, extracting the callback URL from the Credentials and representing
> it as a
>                                         | SimpleService identified by that
> callback URL.
>                                         |
>                                         | If you are representing services
> by something more or other than an HTTPS URL whereat they are able to
>                                         | receive a proxy callback, you
> will need to change this bean declaration (or add additional declarations).
>                                         +-->
>                                 <bean
>                                         class="
> org.jasig.cas.authentication.principal.HttpBasedServiceCredentialsToPrincipalResolver"
> />
>                         </list>
>                 </property>
>
>                 <!--
>                         | Whereas CredentialsToPrincipalResolvers identify
> who it is some Credentials might authenticate,
>                         | AuthenticationHandlers actually authenticate
> credentials.  Here we declare the AuthenticationHandlers that
>                         | authenticate the Principals that the
> CredentialsToPrincipalResolvers identified.  CAS will try these handlers in
> turn
>                         | until it finds one that both supports the
> Credentials presented and succeeds in authenticating.
>                         +-->
>                 <property name="authenticationHandlers">
>                         <list>
>                                 <!--
>                                         | This is the authentication
> handler that authenticates services by means of callback via SSL, thereby
> validating
>                                         | a server side SSL certificate.
>                                         +-->
>                                 <bean
>                                         class="
> org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
> />
>
>                                 <!--
>                                         | This is the authentication
> handler declaration that every CAS deployer will need to change before
> deploying CAS
>                                         | into production.  The default
> SimpleTestUsernamePasswordAuthenticationHandler authenticates
> UsernamePasswordCredentials
>                                         | where the username equals the
> password.  You will need to replace this with an AuthenticationHandler that
> implements your
>                                         | local authentication strategy.
> You might accomplish this by coding a new such handler and declaring
>                                         |
> edu.someschool.its.cas.MySpecialHandler here, or you might use one of the
> handlers provided in the adaptors modules.
>                                         +-->
>                                 <bean class="
> org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler ">
>                                         <property name="filter"
> value="sAMAccountName=%u" />
>                                         <property name="searchBase"
> value="[DELETED]" />
>                                         <property name="contextSource"
> ref="contextSource" />
>                                         <property
> name="ignorePartialResultException" value="yes" /> <!-- fix because of how
> AD returns results -->
>                                  </bean>
>
>
>                         </list>
>                 </property>
>         </bean>
>
>         <bean id="contextSource" class="
> org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource">
>                 <property name="anonymousReadOnly" value="false" />
>                 <property name="pooled" value="true" />
>                 <property name="urls">
>                         <list>
>                                 <value>ldap://[DELETED]</value>
>                         </list>
>                 </property>
>                 <property name="userName" value="[DELETED]" />
>                 <property name="password" value="[DELETED]" />
>                 <property name="baseEnvironmentProperties">
>                         <map>
>                                 <entry>
>                                         <key><value>
> java.naming.security.protocol</value></key>
>                                         <value>ssl</value>
>                                 </entry>
>                                 <entry>
>                                         <key><value>
> java.naming.security.authentication</value></key>
>                                         <value>simple</value>
>                                 </entry>
>                         </map>
>                 </property>
>         </bean>
>
> </beans>
>
> On Dec 3, 2007 10:06 AM, Smith, Matt < [EMAIL PROTECTED]> wrote:
>
> > I'd recommend either using CAS' LDAP support and doing an LDAP Bind
> > against AD, or using CAS' JAASAuthenticationHandler and a JAAS config
> > for Kerberos similar to the one in the IBM article you referenced.
> > Check out the CAS wiki for more info on both of these.
> >
> > HTH,
> > -Matt
> >
> > On Mon, 2007-12-03 at 09:46 -0600, Jonathan Hayward
> > http://JonathansCorner.com wrote:
> > > I want to get CAS to authenticate against Active Directory
> > > username/password pairs.
> > >
> > > I was looking at Build and Implement a single sign-on solution at
> > > http://www.ibm.com/developerworks/web/library/wa-singlesign/ ; it
> > > seems to describe what I want, but it is from 2003 and I want to work
> > > with current software versions. The author provides a ZIP at
> > >
> > http://download.boulder.ibm.com/ibmdl/pub/software/dw/library/wa-singlesign/KerberosAuthSrc.zip,
> >  and
> > KerberosAuthHandler.java didn't compile. (It implements interface
> > PasswordHandler, possibly from package edu.yale.its.tp.cas.auth , and I
> > have been having trouble finding the interface.)
> > >
> > > How should I be going about this? Should I be taking another approach,
> > > or can some details be changed while I use the basic approach at
> > > http://www.ibm.com/developerworks/web/library/wa-singlesign/ ?
> > >
> > > RTFM links would be appreciated; I've been having trouble finding
> > > them.
> > >
> > > --
> > > ++ Jonathan Hayward, [EMAIL PROTECTED]
> > > ** To see an award-winning website with stories, essays, artwork,
> > > ** games, and a four-dimensional maze, why not visit my home page?
> > > ** All of this is waiting for you at http://JonathansCorner.com
> > > _______________________________________________
> > > Yale CAS mailing list
> > > [email protected]
> > > http://tp.its.yale.edu/mailman/listinfo/cas
> > --
> > Matt Smith
> > [EMAIL PROTECTED]
> > University Information Technology Services (UITS)
> > University of Connecticut
> > PGP Key ID: 0xE9C5244E
> >
> > _______________________________________________
> > Yale CAS mailing list
> > [email protected]
> > http://tp.its.yale.edu/mailman/listinfo/cas
> >
> >
>
>
> --
>
> ++ Jonathan Hayward, [EMAIL PROTECTED]
> ** To see an award-winning website with stories, essays, artwork,
> ** games, and a four-dimensional maze, why not visit my home page?
> ** All of this is waiting for you at http://JonathansCorner.com
>
> _______________________________________________
> Yale CAS mailing list
> [email protected]
> http://tp.its.yale.edu/mailman/listinfo/cas
>
>


-- 
-Scott Battaglia

LinkedIn: http://www.linkedin.com/in/scottbattaglia
_______________________________________________
Yale CAS mailing list
[email protected]
http://tp.its.yale.edu/mailman/listinfo/cas

Reply via email to