A bit more detail:

  In my main application I am calling a SOAP service on a different server. 
This service will need to validate the proxy ticket so the user will not be
forced to present their credentials again.  My ideal sequence for the
process:

User logs in
Cas authenticates
Application retrieves a proxy ticket
Application calls SOAP service passing proxy ticket
SOAP service validates proxy ticket, does its thing and returns result.


my auth provider is configured like this:

<bean id="casAuthenticationProvider"
class="org.springframework.security.providers.cas.CasAuthenticationProvider">
        <sec:custom-authentication-provider />
        <property name="userDetailsService" ref="NOAUserDetailsService"/>
        <property name="serviceProperties" ref="serviceProperties" />
        <property name="ticketValidator">
                <bean
class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator">
                        <constructor-arg index="0" value="https://<my cas 
server> />
                    <property name="proxyGrantingTicketStorage"
ref="proxyGrantingTicketStorage" />
                                    <property name="proxyCallbackUrl"
value="https:myapp/secure/receptor" />
            </bean>
        </property>
        <property name="key" value="an_id_for_this_auth_provider_only"/>
    </bean>




deanhe01 wrote:
> 
> I have an application that needs to access another service, without asking
> the user for their credentials again.  Perfect for the CAS proxy ticket. 
> After finding a fairly good high-level explanation of the CAS proxy on the
> wiki 
> 
>     http://www.ja-sig.org/wiki/display/CAS/Proxy+CAS+Walkthrough
> 
> Clear, concise, and  I couldn't get it to work with URL manipulation. 
> After flailing around a bit I configured a servlet attached to my
> proxyCallbackUrl that does the following:
> 
>    ApplicationContext context =
> WebApplicationContextUtils.getWebApplicationContext(getServletContext());
>    ProxyGrantingTicketStorage proxyTicketStorage =
> (ProxyGrantingTicketStorage) context.getBean(proxyGrantingStorageBean);
>    CommonUtils.readAndRespondToProxyReceptorRequest(request, response,
> proxyTicketStorage);
> 
> In my application I can do the following:
> 
>   CasAuthenticationToken p =  (CasAuthenticationToken)
> request.getUserPrincipal();
>   String pt = p.getAssertion().getPrincipal().getProxyTicketFor("blorf");
> 
> To validate the ticket I construct a url of the form  https://<my cas
> server>/proxyValidate?service=<target service>&ticket=<ticket returned
> from getProxyTicketFor()>
> 
> This works but, I don't like it.  Is there a "best practice" for
> retrieving the proxy ticket?
> 
> Thanks in advance
> 
> Dean
> 
>    
> 
> 
>    
> 
>   
> 

-- 
View this message in context: 
http://www.nabble.com/BestPractice-Pattern--for-CAS-Proxy-Ticket-Generation--tp24095305p24095357.html
Sent from the CAS Users mailing list archive at Nabble.com.


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