I was able to figure out my problem. I was missing an AutoIntegrationFilter bean. It now works.

Thanks!

Scott Battaglia
Application Developer, New Technology Group
Enterprise Systems and Services
Rutgers University Computing Services
Rutgers, the State University of New Jersey

email: [EMAIL PROTECTED]
voice: 732.445.0097
 fax: 732.445.5493



Scott Battaglia wrote:

Hi,

I've just started working with Acegi and CAS and I'm finding it very easy and powerful. However, I've come upon something that's confusing me. I set up my application so that any URL ending with .app forces requires authentication. It properly redirects to CAS for authentication but when it goes to the j_acegi_cas_security_check page it gets redirected back to CAS. Does anyone know why this occurs? I'm assuming I have some stupid config error that I missed therefore I'm attaching my securityContext.xml.

Thanks in advance for your help!
-Scott

------------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC  "-//SPRING//DTD BEAN//EN" 
"http://www.springframework.org/dtd/spring-beans.dtd";>
<beans>
        <!-- =========================================================== -->
        <!-- SINGLE SIGN ON USING ACEGI AND CAS                          -->
        <!-- =========================================================== -->
        <bean id="serviceProperties" 
class="net.sf.acegisecurity.ui.cas.ServiceProperties">
                <property 
name="service"><value>https://acsdev12.rutgers.edu/hrinfo/j_acegi_cas_security_check</value></property>
                <property name="sendRenew"><value>false</value></property>
        </bean>
        
        <bean id="casProcessingFilter" 
class="net.sf.acegisecurity.ui.cas.CasProcessingFilter">
                <property name="authenticationManager"><ref bean="authenticationManager" 
/></property>
                <property 
name="authenticationFailureUrl"><value>/casfailed.jsp</value></property>
                <property name="defaultTargetUrl"><value>/</value></property>
                <property 
name="filterProcessesUrl"><value>/j_acegi_cas_security_check</value></property>
        </bean>
        
        <bean id="casProcessingFilterEntryPoint" 
class="net.sf.acegisecurity.ui.cas.CasProcessingFilterEntryPoint">
                <property 
name="loginUrl"><value>https://www.acst2.rutgers.edu:8889/cas/login</value></property>
                <property name="serviceProperties"><ref bean="serviceProperties" 
/></property>
        </bean>
        
        <bean id="authenticationManager" 
class="net.sf.acegisecurity.providers.ProviderManager">
                <property name="providers">
                        <list>
                                <ref bean="casAuthenticationProvider" />
                        </list>
                </property>
        </bean>
        
        <bean id="casAuthenticationProvider" 
class="net.sf.acegisecurity.providers.cas.CasAuthenticationProvider">
                <property name="casAuthoritiesPopulator"><ref bean="casAuthoritiesPopulator" 
/></property>
                <property name="casProxyDecider"><ref bean="casProxyDecider" 
/></property>
                <property name="ticketValidator"><ref bean="casProxyTicketValidator" 
/></property>
                <property name="statelessTicketCache"><ref bean="statelessTicketCache" 
/></property>
                <property 
name="key"><value>my_password_for_this_auth_provider_only</value></property>
        </bean>
        
        <bean id="casProxyTicketValidator" 
class="net.sf.acegisecurity.providers.cas.ticketvalidator.CasProxyTicketValidator">
                <property 
name="casValidate"><value>https://www.acst2.rutgers.edu:8889/cas/serviceValidate</value></property>
                <property name="serviceProperties"><ref bean="serviceProperties" 
/></property>
        </bean>
        
        <bean id="statelessTicketCache" 
class="net.sf.acegisecurity.providers.cas.cache.EhCacheBasedTicketCache">
                <property name="minutesToIdle"><value>20</value></property>
        </bean>
        
        <bean id="casAuthoritiesPopulator" 
class="net.sf.acegisecurity.providers.cas.populator.DaoCasAuthoritiesPopulator">
                <property name="authenticationDao"><ref bean="authenticationDao" 
/></property>
        </bean>
        
        <bean id="casProxyDecider" 
class="net.sf.acegisecurity.providers.cas.proxy.RejectProxyTickets" />
        
<!-- <bean id="authenticationDao" 
class="edu.rutgers.acs.hrinfo.dao.support.InMemoryAuthenticationDao" />-->
        <bean id="authenticationDao" 
class="net.sf.acegisecurity.providers.dao.memory.InMemoryDaoImpl">
                <property name="userMap">
                        <value>
                                battags=PASSWORD_NOT_USED,ROLE_SUPER_USER
                                beeky=PASSWORD_NOT_USED,ROLE_SUPER_USER
                        </value>
                </property>
        </bean>

        <bean id="securityEnforcementFilter" 
class="net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter">
                <property name="filterSecurityInterceptor"><ref 
bean="filterInvocationInterceptor"/></property>
                <property name="authenticationEntryPoint"><ref 
bean="casProcessingFilterEntryPoint"/></property>
        </bean>
        
        <bean id="filterInvocationInterceptor" 
class="net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor">
        <property name="authenticationManager"><ref 
bean="authenticationManager"/></property>
        <property name="accessDecisionManager"><ref 
bean="httpRequestAccessDecisionManager"/></property>
        <property name="runAsManager"><ref bean="runAsManager"/></property>
                <property name="objectDefinitionSource">
                        <value>
                            CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
                                \A/.*.app\Z=ROLE_SUPER_USER
                        </value>
                </property>
        </bean>
        
        <bean id="runAsManager" class="net.sf.acegisecurity.runas.RunAsManagerImpl">
        <property name="key"><value>my_run_as_password</value></property>
        </bean>
        
        <bean id="httpRequestAccessDecisionManager" 
class="net.sf.acegisecurity.vote.AffirmativeBased">
                <property 
name="allowIfAllAbstainDecisions"><value>false</value></property>
                <property name="decisionVoters">
                  <list>
                    <ref bean="roleVoter"/>
                  </list>
                </property>
        </bean>
        
        <bean id="roleVoter" class="net.sf.acegisecurity.vote.RoleVoter" />
        
        <!-- ===================== HTTP CHANNEL REQUIREMENTS ==================== -->
        
        <bean id="channelProcessingFilter" 
class="net.sf.acegisecurity.securechannel.ChannelProcessingFilter">
                <property name="channelDecisionManager"><ref 
bean="channelDecisionManager"/></property>
                <property name="filterInvocationDefinitionSource">
                        <value>
                            CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
                                \A/.*\Z=REQUIRES_SECURE_CHANNEL
                                
\A/j_acegi_cas_security_check.*\Z=REQUIRES_SECURE_CHANNEL       
                        </value>
                </property>
        </bean>

        <bean id="channelDecisionManager" 
class="net.sf.acegisecurity.securechannel.ChannelDecisionManagerImpl">
            <property name="channelProcessors">
                <list>
                        <ref bean="secureChannelProcessor"/>
                <ref bean="insecureChannelProcessor"/>
                </list>
            </property>
        </bean>

<bean id="secureChannelProcessor" class="net.sf.acegisecurity.securechannel.SecureChannelProcessor"/>
<bean id="insecureChannelProcessor" class="net.sf.acegisecurity.securechannel.InsecureChannelProcessor"/>
</beans>




-------------------------------------------------------
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
_______________________________________________
Acegisecurity-developer mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/acegisecurity-developer

Reply via email to