My guess would be that allowedAttributes must also be configured as:

<property name="allowedAttributes">
<list>
<value>attr1</value>
<value>attr2</value>
</list>
</property>

unless something is smart enough to recognize comma as a separator (maybe
there is? I usually just list them explicitly).


On Thu, Mar 17, 2011 at 1:32 PM, Marvin Addison <[email protected]>wrote:

> I believe the problem is here:
>
>                   <bean
> class="org.jasig.cas.services.RegisteredServiceImpl">
>                       <property name="id" value="0" />
>                       <property name="name" value="HTTP" />
>                       <property name="description" value="Only Allows
> HTTP Urls" />
>                       <property name="serviceId" value="http://**"; />
>                       <property name="allowedAttributes"
> value="uid,cn,isMemberOf" />
>                   </bean>
>
> You need to either remove allowedAttributes attribute, or list all
> attributes by the name you've given them in the principal,
> "username,Name,isMemberOf".  All RegisteredServiceImpl entries should
> be configured similarly.
>
> M
>
> On Thu, Mar 17, 2011 at 1:26 PM, Cyril GUILLERMINET
> <[email protected]> wrote:
> > Hi,
> >
> > I am running CAS 3.4.6 with OpenDS and user authentication is working as
> expected.
> >
> > However, I am not able to get LDAP attributes, could you please help me
> to find what I am doing wrong. Here is my configuration:
> >
> > <?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:sec="http://www.springframework.org/schema/security";
> >       xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
> >       http://www.springframework.org/schema/security
> http://www.springframework.org/schema/security/spring-security-3.0.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="(uid=%u)" />
> >                                    <property
> name="principalAttributeName" value="uid" />
> >                                    <property name="searchBase"
> value="ou=people,dc=tinesys,dc=fr" />
> >                                    <property name="contextSource"
> ref="contextSource" />
> >                                    <property name="attributeRepository">
> >                                        <ref bean="attributeRepository" />
> >                                    </property>
> >                                </bean>
> >                                <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="uid=%u"
> />
> >                                    <property name="searchBase"
> value="ou=people,dc=tinesys,dc=fr" />
> >                                    <property name="contextSource"
> ref="contextSource" />
> >                                </bean>
> >                        </list>
> >                </property>
> >        </bean>
> >
> >        <bean id="contextSource"
> class="org.springframework.ldap.core.support.LdapContextSource">
> >            <property name="pooled" value="false"/>
> >            <property name="urls">
> >                <list>
> >                    <value>ldaps://myhost:1636/</value>
> >                </list>
> >            </property>
> >            <property name="userDn" value="cn=Directory Manager"/> <!-- eg
> uid=LdapUser,dc=yourdomain,dc=edu -->
> >            <property name="password" value="my secret password"/>
> >            <property name="baseEnvironmentProperties">
> >                <map>
> >                    <entry>
> >                        <key>
> >
>  <value>java.naming.security.authentication</value>
> >                        </key>
> >                        <value>simple</value>
> >                    </entry>
> >                    <entry>
> >                        <key>
> >
>  <value>com.sun.jndi.ldap.connect.timeout</value>
> >                        </key>
> >                        <value>2000</value>
> >                    </entry>
> >                    <entry>
> >                        <key>
> >                            <value>com.sun.jndi.ldap.read.timeout</value>
> >                        </key>
> >                        <value>2000</value>
> >                    </entry>
> >                </map>
> >            </property>
> >        </bean>
> >    <!-- <sec:user name="@@THIS SHOULD BE REPLACED@@" password="notused"
> authorities="ROLE_ADMIN" />-->
> >
> >    <sec:user-service id="userDetailsService">
> >        <sec:user name="battags" password="notused"
> authorities="ROLE_ADMIN" />
> >    </sec:user-service>
> >    <bean id="attributeRepository"
> >
>  class="org.jasig.services.persondir.support.ldap.LdapPersonAttributeDao">
> >        <property name="contextSource" ref="contextSource" />
> >        <property name="baseDN" value="ou=people,dc=tinesys,dc=fr" />
> >        <property name="requireAllQueryAttributes" value="true" />
> >        <!--
> >            Attribute mapping beetween 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="uid" />
> >            </map>
> >        </property>
> >        <property name="resultAttributeMapping">
> >            <map>
> >                <!-- Mapping beetween LDAP entry attributes (key) and
> Principal's (value) -->
> >                <entry key="cn" value="Name"/>
> >                <entry key="uid" value="username"/>
> >                <entry value="isMemberOf" key="isMemberOf" />
> >            </map>
> >        </property>
> >    </bean>
> >
> >        <bean
> >                id="serviceRegistryDao"
> >        class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl">
> >            <property name="registeredServices">
> >                <list>
> >                    <bean
> class="org.jasig.cas.services.RegisteredServiceImpl">
> >                        <property name="id" value="0" />
> >                        <property name="name" value="HTTP" />
> >                        <property name="description" value="Only Allows
> HTTP Urls" />
> >                        <property name="serviceId" value="http://**"; />
> >                        <property name="allowedAttributes"
> value="uid,cn,isMemberOf" />
> >                    </bean>
> >
> >                    <bean
> class="org.jasig.cas.services.RegisteredServiceImpl">
> >                        <property name="id" value="1" />
> >                        <property name="name" value="HTTPS" />
> >                        <property name="description" value="Only Allows
> HTTPS Urls" />
> >                        <property name="serviceId" value="https://**"; />
> >                    </bean>
> >
> >                    <bean
> class="org.jasig.cas.services.RegisteredServiceImpl">
> >                        <property name="id" value="2" />
> >                        <property name="name" value="IMAPS" />
> >                        <property name="description" value="Only Allows
> HTTPS Urls" />
> >                        <property name="serviceId" value="imaps://**" />
> >                    </bean>
> >
> >                    <bean
> class="org.jasig.cas.services.RegisteredServiceImpl">
> >                        <property name="id" value="3" />
> >                        <property name="name" value="IMAP" />
> >                        <property name="description" value="Only Allows
> IMAP Urls" />
> >                        <property name="serviceId" value="imap://**" />
> >                    </bean>
> >                </list>
> >            </property>
> >        </bean>
> >
> >    <bean id="auditTrailManager"
> class="com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager" />
> > </beans>
> >
> > Here are some logs:
> > 2011-03-17 12:54:04,949 INFO
> [org.jasig.cas.authentication.AuthenticationManagerImpl] -
> AuthenticationHandler:
> org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler successfully
> authenticated the user which provided the following credentials: [username:
> someone]
> > 2011-03-17 12:54:04,949 DEBUG
> [org.jasig.cas.authentication.principal.CredentialsToLDAPAttributePrincipalResolver]
> - Attempting to resolve a principal...
> > 2011-03-17 12:54:04,949 DEBUG
> [org.jasig.cas.authentication.principal.CredentialsToLDAPAttributePrincipalResolver]
> - Attempting to resolve a principal...
> > 2011-03-17 12:54:04,949 DEBUG
> [org.jasig.cas.authentication.principal.UsernamePasswordCredentialsToPrincipalResolver]
> - Attempting to resolve a principal...
> > 2011-03-17 12:54:04,949 DEBUG
> [org.jasig.cas.authentication.principal.UsernamePasswordCredentialsToPrincipalResolver]
> - Attempting to resolve a principal...
> > 2011-03-17 12:54:04,949 DEBUG
> [org.jasig.cas.authentication.principal.UsernamePasswordCredentialsToPrincipalResolver]
> - Creating SimplePrincipal for [someone]
> > 2011-03-17 12:54:04,949 DEBUG
> [org.jasig.cas.authentication.principal.UsernamePasswordCredentialsToPrincipalResolver]
> - Creating SimplePrincipal for [someone]
> > 2011-03-17 12:54:04,951 DEBUG
> [org.jasig.cas.authentication.principal.CredentialsToLDAPAttributePrincipalResolver]
> - Resolved someone. Trying LDAP resolve now...
> > 2011-03-17 12:54:04,951 DEBUG
> [org.jasig.cas.authentication.principal.CredentialsToLDAPAttributePrincipalResolver]
> - Resolved someone. Trying LDAP resolve now...
> > 2011-03-17 12:54:04,951 DEBUG
> [org.jasig.cas.authentication.principal.CredentialsToLDAPAttributePrincipalResolver]
> - LDAP search with filter "(uid=someone)"
> > 2011-03-17 12:54:04,951 DEBUG
> [org.jasig.cas.authentication.principal.CredentialsToLDAPAttributePrincipalResolver]
> - LDAP search with filter "(uid=someone)"
> > 2011-03-17 12:54:04,951 DEBUG
> [org.jasig.cas.authentication.principal.CredentialsToLDAPAttributePrincipalResolver]
> - returning searchcontrols: scope=2; search base=ou=people,dc=xxxxx,dc=xxxx;
> attributes=[uid]; timeout=1000
> > 2011-03-17 12:54:04,951 DEBUG
> [org.jasig.cas.authentication.principal.CredentialsToLDAPAttributePrincipalResolver]
> - returning searchcontrols: scope=2; search base=ou=people,dc=xxxxx,dc=xxxx;
> attributes=[uid]; timeout=1000
> > 2011-03-17 12:54:04,997 DEBUG
> [org.jasig.cas.authentication.principal.CredentialsToLDAPAttributePrincipalResolver]
> - Resolved someone to someone
> > 2011-03-17 12:54:04,997 DEBUG
> [org.jasig.cas.authentication.principal.CredentialsToLDAPAttributePrincipalResolver]
> - Resolved someone to someone
> > 2011-03-17 12:54:04,997 DEBUG
> [org.jasig.cas.authentication.principal.CredentialsToLDAPAttributePrincipalResolver]
> - Creating SimplePrincipal for [someone]
> > 2011-03-17 12:54:04,997 DEBUG
> [org.jasig.cas.authentication.principal.CredentialsToLDAPAttributePrincipalResolver]
> - Creating SimplePrincipal for [someone]
> > 2011-03-17 12:54:04,998 DEBUG
> [org.jasig.services.persondir.support.ldap.LdapPersonAttributeDao] - Created
> seed map='{username=[someone]}' for uid='someone'
> > 2011-03-17 12:54:04,998 DEBUG
> [org.jasig.services.persondir.support.ldap.LdapPersonAttributeDao] - Created
> seed map='{username=[someone]}' for uid='someone'
> > 2011-03-17 12:54:04,998 DEBUG
> [org.jasig.services.persondir.support.ldap.LdapPersonAttributeDao] - Adding
> attribute 'uid' with value '[someone]' to query builder 'null'
> > 2011-03-17 12:54:04,998 DEBUG
> [org.jasig.services.persondir.support.ldap.LdapPersonAttributeDao] - Adding
> attribute 'uid' with value '[someone]' to query builder 'null'
> > 2011-03-17 12:54:05,001 DEBUG
> [org.jasig.services.persondir.support.ldap.LdapPersonAttributeDao] -
> Generated query builder '(uid=cguillerminet)' from query Map
> {username=[cguillerminet]}.
> > 2011-03-17 12:54:05,001 DEBUG
> [org.jasig.services.persondir.support.ldap.LdapPersonAttributeDao] -
> Generated query builder '(uid=cguillerminet)' from query Map
> {username=[cguillerminet]}.
> > 2011-03-17 12:54:05,064 INFO
> [com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - Audit
> trail record BEGIN
> > =============================================================
> > WHO: [username: someone]
> > WHAT: supplied credentials: [username: someone]
> > ACTION: AUTHENTICATION_SUCCESS
> > APPLICATION: CAS
> > WHEN: Thu Mar 17 12:54:05 EDT 2011
> > CLIENT IP ADDRESS: xxx.xx.xx.xx
> > SERVER IP ADDRESS: xxx.xx.xx.xx
> > =============================================================
> >
> >
> > 2011-03-17 12:54:05,070 INFO
> [com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - Audit
> trail record BEGIN
> > =============================================================
> > WHO: [username: someone]
> > WHAT: TGT-1-gxBJlnF2jeUWpnwel20dUcq0DBOMJ51cRlxKGBRgRctlM4k5gE-cas
> > ACTION: TICKET_GRANTING_TICKET_CREATED
> > APPLICATION: CAS
> > WHEN: Thu Mar 17 12:54:05 EDT 2011
> > CLIENT IP ADDRESS: xxx.xx.xx.xx
> > SERVER IP ADDRESS: xxx.xx.xx.xx
> > =============================================================
> >
> >
> > 2011-03-17 12:54:05,071 INFO
> [com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - Audit
> trail record BEGIN
> > =============================================================
> > WHO: audit:unknown
> > WHAT: TGT-1-WdrIcWoeCRAOXdievaMQze0ItGXgdUY9te0DobCFhcV2dfN7Bs-cas
> > ACTION: TICKET_GRANTING_TICKET_DESTROYED
> > APPLICATION: CAS
> > WHEN: Thu Mar 17 12:54:05 EDT 2011
> > CLIENT IP ADDRESS: xxx.xx.xx.xx
> > SERVER IP ADDRESS: xxx.xx.xx.xx
> > =============================================================
> >
> >
> > 2011-03-17 12:54:05,073 INFO
> [org.jasig.cas.CentralAuthenticationServiceImpl] - Granted service ticket
> [ST-1-7sFZLYHxwnNne1wzshAj-cas] for service [http://172.22.95.75/] for
> user [cguillerminet]
> > 2011-03-17 12:54:05,074 INFO
> [com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - Audit
> trail record BEGIN
> > =============================================================
> > WHO: someone
> > WHAT: ST-1-7sFZLYHxwnNne1wzshAj-cas for http://xxx.xx.xx.xx/
> > ACTION: SERVICE_TICKET_CREATED
> > APPLICATION: CAS
> > WHEN: Thu Mar 17 12:54:05 EDT 2011
> > CLIENT IP ADDRESS: xxx.xx.xx.xx
> > SERVER IP ADDRESS: xxx.xx.xx.xx
> > =============================================================
> >
> >
> > 2011-03-17 12:54:05,125 DEBUG
> [org.jasig.cas.authentication.principal.SamlService] - Attempted to extract
> Request from HttpServletRequest.  Results:
> > 2011-03-17 12:54:05,125 DEBUG
> [org.jasig.cas.authentication.principal.SamlService] - Attempted to extract
> Request from HttpServletRequest.  Results:
> > 2011-03-17 12:54:05,125 DEBUG
> [org.jasig.cas.authentication.principal.SamlService] - Request Body:
> <SOAP-ENV:Envelope xmlns:SOAP-ENV="
> http://schemas.xmlsoap.org/soap/envelope/";><SOAP-ENV:Header/><SOAP-ENV:Body><samlp:Request
> xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol"  MajorVersion="1"
> MinorVersion="1" RequestID="_192.168.16.51.1024506224022"
> IssueInstant="2002-06-19T17:03:44.022Z"><samlp:AssertionArtifact>ST-1-7sFZLYHxwnNne1wzshAj-cas</samlp:AssertionArtifact></samlp:Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
> > 2011-03-17 12:54:05,125 DEBUG
> [org.jasig.cas.authentication.principal.SamlService] - Request Body:
> <SOAP-ENV:Envelope xmlns:SOAP-ENV="
> http://schemas.xmlsoap.org/soap/envelope/";><SOAP-ENV:Header/><SOAP-ENV:Body><samlp:Request
> xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol"  MajorVersion="1"
> MinorVersion="1" RequestID="_192.168.16.51.1024506224022"
> IssueInstant="2002-06-19T17:03:44.022Z"><samlp:AssertionArtifact>ST-1-7sFZLYHxwnNne1wzshAj-cas</samlp:AssertionArtifact></samlp:Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
> > 2011-03-17 12:54:05,125 DEBUG
> [org.jasig.cas.authentication.principal.SamlService] - Extracted ArtifactId:
> ST-1-7sFZLYHxwnNne1wzshAj-cas
> > 2011-03-17 12:54:05,125 DEBUG
> [org.jasig.cas.authentication.principal.SamlService] - Extracted ArtifactId:
> ST-1-7sFZLYHxwnNne1wzshAj-cas
> > 2011-03-17 12:54:05,125 DEBUG
> [org.jasig.cas.authentication.principal.SamlService] - Extracted Request Id:
> _192.168.16.51.1024506224022
> > 2011-03-17 12:54:05,125 DEBUG
> [org.jasig.cas.authentication.principal.SamlService] - Extracted Request Id:
> _192.168.16.51.1024506224022
> > 2011-03-17 12:54:05,129 INFO
> [com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - Audit
> trail record BEGIN
> > =============================================================
> > WHO: audit:unknown
> > WHAT: ST-1-7sFZLYHxwnNne1wzshAj-cas
> > ACTION: SERVICE_TICKET_VALIDATED
> > APPLICATION: CAS
> > WHEN: Thu Mar 17 12:54:05 EDT 2011
> > CLIENT IP ADDRESS: xxx.xx.xx.xx
> > SERVER IP ADDRESS: xx.xx.xx.xx
> > =============================================================
> >
> > Regards.
> >
> > --
> > You are currently subscribed to [email protected] as:
> [email protected]
> > To unsubscribe, change settings or access archives, see
> http://www.ja-sig.org/wiki/display/JSG/cas-user
> >
>
> --
> You are currently subscribed to [email protected] as:
> [email protected]
> To unsubscribe, change settings or access archives, see
> http://www.ja-sig.org/wiki/display/JSG/cas-user
>
>

-- 
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

Reply via email to