Hi

I am using CAS 3.4.8 with Spring security 3.1.0.RC2. I am new to CAS and 
have some trouble understanding how I can use CAS for single sign-on 
across multiple applications. Here is my environment:

1. app-web : UI application WAR (maven+spring+gwt)
2. app-ds: Data services WAR (maven+spring+hibernate)
3. app-cas: Maven overlay war.
4. Active directory : Existing enterprise directory.

Additional information
a. I have made changes to deploymentConfigContext.xml , 
securityContext.xml  in the app-cas and deployed on tomcat. I have 
confirmed at user is able to sign in, services configured and attributes 
from active directory released correctly.

b. Individual applications (app-ds and app-web) are secured with spring 
security. I have confirmed that secure URLs and business services 
require the CAS login first and then redirect upon authentication.

*Problem*:
When the user logs into app-web and requests services from the app-ds, 
the user app-ds throws an exception and wants the user to authenticate 
again. I adding the service ticket (ST-XXXX) to the query string before 
sending post requests to the app-ds.

Any calls to String proxyTicket = 
assertion.getPrincipal().getProxyTicketFor(serviceUrl); return Null where
serviceUrl = https://localhost:8888/app-web/j_spring_cas_security_check

I am not sure if I am using the SAML validator incorrectly. Using the 
Cas20TicketValidator does not return any attributes from Active 
Directory.  Any help would be appreciated.


*Configuration
*Everything is standard configuration except for ticketValidator and 
UserDetailsService configuration. I am using SAML11TicketValidator else 
the AD attributes are not in the security context

<b:bean id="casAuthProvider" 
class="org.springframework.security.cas.authentication.CasAuthenticationProvider"
         p:serviceProperties-ref="serviceProperties" 
p:key="casAuthProviderKey">
<b:property name="authenticationUserDetailsService" 
ref="userDetailsService">
</b:property>
<b:property name="ticketValidator">
*<b:bean class="org.jasig.cas.client.validation.Saml11TicketValidator">
<b:constructor-arg value="https://localhost:8443/app-cas"; />
</b:bean>*
</b:property>
<b:property name="statelessTicketCache">
<b:bean 
class="org.springframework.security.cas.authentication.EhCacheBasedTicketCache">
<b:property name="cache">
<b:bean class="net.sf.ehcache.Cache" init-method="initialise" 
destroy-method="dispose">
<b:constructor-arg value="casTickets" />
<b:constructor-arg value="50" />
<b:constructor-arg value="true" />
<b:constructor-arg value="false" />
<b:constructor-arg value="3600" />
<b:constructor-arg value="900" />
</b:bean>
</b:property>
</b:bean>
</b:property>
</b:bean>

<b:bean id="casFilter" 
class="org.springframework.security.cas.web.CasAuthenticationFilter"
         p:authenticationManager-ref="authManager" 
p:serviceProperties-ref="serviceProperties"
         p:proxyGrantingTicketStorage-ref="pgtStorage" 
p:proxyReceptorUrl="/j_spring_cas_security_proxyreceptor">
<b:property name="authenticationDetailsSource">
<b:bean 
class="org.springframework.security.cas.web.authentication.ServiceAuthenticationDetailsSource"
 
/>
</b:property>
<b:property name="authenticationFailureHandler">
<b:bean 
class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler"
                 p:defaultFailureUrl="/casfailed.jsp" />
</b:property>
</b:bean>

c. Custom UserDetailsServiceImpl iterates over the assertion attributes




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