Thanks. (Does your silence on other points mean that you don't see other
errors?)

On Dec 10, 2007 10:55 AM, Scott Battaglia <[EMAIL PROTECTED]> wrote:

> You should be able to use sAMAccountName if you want.
>
> -Scott
>
> On Dec 10, 2007 10:20 AM, Jonathan Hayward http://JonathansCorner.com <
> [EMAIL PROTECTED]> wrote:
>
> >  We are having trouble getting CAS to get the usernames from LDAP; in
> > our LDAP server, the "uid" field is not populated ("sAMAccountName" does its
> > work).
> >
> > Do any problems jump out, or any "usual suspects" for trouble getting
> > usernames from LDAP?
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <!--
> >             | 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 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";>
> >             <!--
> >                         | 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.xml so that you can see the things you will
> >                         | need to change in context.
> >                         +-->
> >
> > <bean id="contextSource" class="
> > org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource">
> >  <property name="urls">
> >   <list>
> >
> > <value>ldap://[DELETED]:389/OU=Accounts,OU=[DELETED],OU=[DELETED],DC=[DELETED],DC=[DELETED],DC=[DELETED]</value>
> >   </list>
> >  </property>
> >  <property name="userName" value="[DELETED]"/>
> >  <property name="password" value="[DELETED]"/>
> >  <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">
> >                         <!--
> >                                     | 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"
> > >
> >                                          <property
> > name="attributeRepository">
> >
> > <ref bean="attributeRepository" />
> >                                                             </property>
> > </bean>
> >                                                 <!--
> >                                                             |
> > 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
> > "
> >
> > p:httpClient-ref="httpClient" />
> >                                                 <!--
> >                                                             | 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.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler"
> > />
> > -->
> >
> >                                                 <bean class="
> > org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler">
> >                                                        <property
> > name="filter" value="sAMAccountName=%u" />
> >                                                        <property
> > name="searchBase" value="DC=[DELETED],DC=[DELETED],DC=[DELETED]" />
> >                                                        <property
> > name="contextSource" ref="contextSource" />
> >                                                        <property
> > name="ignorePartialResultException" value="yes" />
> > </bean>
> >                                     </list>
> >                         </property>
> >             </bean>
> >
> >             <!--
> >             This bean defines the security roles for the Services
> > Management application.  Simple deployments can use the in-memory version.
> >             More robust deployments will want to use another option,
> > such as the Jdbc version.
> >
> >             The name of this should remain "userDetailsService" in order
> > for Acegi to find it.
> >
> >             To use this, you should add an entry similar to the
> > following between the two value tags:
> >             battags=notused,ROLE_ADMIN
> >
> >             where battags is the username you want to grant access to.
> > You can put one entry per line.
> >              -->
> >             <bean id="userDetailsService" class="
> > org.acegisecurity.userdetails.memory.InMemoryDaoImpl">
> >                         <property name="userMap">
> >                                     <value>
> >                             </value>
> >                         </property>
> >             </bean>
> >
> >             <!--
> >             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.ldap.LdapPersonAttributeDao">
> >                         <property name="baseDN"
> >
> > value="OU=[DELETED],OU=[DELETED],OU=[DELETED],DC=[DELETED],DC=[DELETED],DC=[DELETED]"
> > />
> >                         <property name="principalAttributeName"
> > value="sAMAccountName" />
> >
> >                         <!-- This query is used to find the entry for
> > populating attributes. {0} will be replaced by the new Principal ID
> > extracted from the ldap-->
> >                         <property name="query"
> > value="(sAMAccountName={0})" />
> >                         <property name="contextSource"
> > ref="contextSource" />
> >
> >             </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>
> > --
> > ++ 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
>
>


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

Reply via email to