[cas-dev] Custom Attribute Resolver.. help needed.
Sean R. McNamara
sean.r.mcnamara at Dartmouth.EDU
Thu May 22 11:56:41 EDT 2008
Hi Scott,
Regarding 1. we're using a custom principal object called
DartmouthPrincipal, to be honest, I don't see any reference to
AttributePrincipal in the source.. could you be a little more specific?
I'll look into the DefaultServicesManager.. that could very well be my
issue.
Thanks..
..Sean.
Scott Battaglia wrote:
> Sean,
>
> Two questions/comments:
>
> 1. Are you using the AttributePrincipal? My guess is you are. If not,
> you should be ;-)
>
> 2. The attributes release is dependent on the services management
> tool. We've actually built a way to use it without using it (if that
> made sense). If you don't want to register all of your services in
> the tool, then you can configure in the XML configuration the default
> attributes that get passed back (since everything matches the default
> service if you have none configured). Take a look at the Javadoc for
> the DefaultServicesManager. I believe the constructor takes a list of
> Strings (which would be the attribute names)
>
> -Scott
>
> On Thu, May 22, 2008 at 11:29 AM, Sean R. McNamara
> <sean.r.mcnamara at dartmouth.edu <mailto:sean.r.mcnamara at dartmouth.edu>>
> wrote:
>
> Hi all,
>
> I'm working to develop a custom attribute resolver, and am more or
> less
> following the model given by
> CredentialsToLDAPAttributePrincipalResolver.java.
>
>
> I've built a custom Credentials -> Principal resolver,
> CredentialsToDNDFieldPrincipalResolver
> a custom PersonAttributeDao, DNDPersonAttributeDao,
>
> and have configured the deployerConfigContext.xml as follows:
>
> [.....]
> <property name="credentialsToPrincipalResolvers">
> <list>
> <bean
>
> class="org.jasig.cas.authentication.principal.CredentialsToDNDFieldPrincipalResolver">
> <!-- The Principal resolver
> form
> the credentials -->
> <property
> name="credentialsToPrincipalResolver">
> <bean
> class="edu.dartmouth.cas.authentication.principal.DartmouthUsernamePasswordCredentialsToPrincipalResolver"
> />
>
> </property>
> <!-- The query made to find the
> Principal ID. "%u" will be replaced by the resolved Principal -->
> <property name="filter"
> value="%u" />
>
> <!-- The attribute used to
> define the new Principal ID -->
>
> <property
> name="principalAttributeName" value="name" />
>
> <property
> name="attributeRepository">
> <ref
> bean="attributeRepository" />
> </property>
>
> </bean>
> [.....]
>
> <bean id="attributeRepository"
>
> class="org.jasig.services.persondir.support.dnd.DNDPersonAttributeDao">
> <property name="fieldsToAttributes">
> <map>
> <entry key="lastname"
> value="lastname" />
> <entry key="firstname"
> value="firstname" />
> <entry key="name" value="name" />
> </map>
> </property>
> </bean>
>
>
>
> The code compiles, and according to some debug I've inserted into the
> code, successfully builds the Principal and populates the attributes,
> however, in casServiceValidationSuccess.jsp, when I attempt to access
> the attributeMap as follows:
>
> /<cas:user>${fn:escapeXml(assertion.chainedAuthentications[fn:length(assertion.chainedAuthentications)-1].principal.id
> <http://principal.id>)}</cas:user>/
> <c:forEach var="auth" items="${assertion.chainedAuthentications}">
> <c:forEach var="attr" items="${auth.principal.attributes}" >
> <cas:attribute name="${fn:escapeXml(attr.key)}"
> value="${fn:escapeXml(attr.value)}"/>
> </c:forEach>
> </c:forEach>
>
> I only see the <cas:user>...</cas:user> data in my response. I
> verified I'm modifying the correct .jsp, so, I know that's not an
> issue.
>
>
> I'd appreciate any assistance anyone could offer. I'm a little
> stumped
> at this point. One thing I haven't done and I'm not clear
> whether or
> not is a necessary step to get this to work, is to enable the Services
> support (http://www.ja-sig.org/wiki/display/CASUM/Configuring) or
> whether that's irrelevant unless I'm looking to use the whitelisting
> features..
>
> Thanks for your help..
>
> ..Sean.
>
> _______________________________________________
> cas-dev mailing list
> cas-dev at tp.its.yale.edu <mailto:cas-dev at tp.its.yale.edu>
> http://tp.its.yale.edu/mailman/listinfo/cas-dev
>
>
>
>
> --
> -Scott Battaglia
> PGP Public Key Id: 0x383733AA
> LinkedIn: http://www.linkedin.com/in/scottbattaglia
> ------------------------------------------------------------------------
>
> _______________________________________________
> cas-dev mailing list
> cas-dev at tp.its.yale.edu
> http://tp.its.yale.edu/mailman/listinfo/cas-dev
>
More information about the cas-dev
mailing list