Ok, I'm very close to getting this. I'm passing attributes from a
remote CAS server through to the Acegi client. I've written a custom
MetaDataPopulator on the server side and a cutom ProxyTicketValidator on
the client side. What I'm not seeing is how to get the class name of
the successful authenticationHandler from the scope of the
populateAttribute method of the MetaDataPopulator. populateAttributes
takes an Authentication object and Credentials object as parameters.
The handlers don't modify the credentials or authentication objects so
it seems the only way to do this would be to add the handler name to the
principal attributes in the authenticate method of the
AuthenticationManagerImpl. So it seems that I would have to write my
own AuthenticationManagerImpl. Am I on the right path or can this be
done in configuration?
Here's my current authenticationManager config from
deployerConfigContext.xml:
<bean id="authenticationManager"
class="org.jasig.cas.authentication.AuthenticationManagerImpl">
<property name="authenticationMetaDataPopulators">
<list>
<bean
class="com.mycom.server.cas.MyAuthenticationMetaDataPopulator" />
</list>
</property>
<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.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler"
/>
<bean
class="org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler">
<property name="filter" value="uid=%u" />
<property name="searchBase" value="dc=mycom,dc=com" />
<property name="contextSource" ref="contextSource" />
</bean>
</list>
</property>
</bean>
_______________________________________________
Yale CAS mailing list
[email protected]
http://tp.its.yale.edu/mailman/listinfo/cas