Hi Nino,

> Hmm Im using auth roles now.. Are there an way to integrate the two..?

that shouldn't be a too big deal, you just have to convert the spring-security
granted authorities into 'roles'.

To get the AuthenticationManager into your Application you could use the Spring
factory (Scala code):

---8<---
class AuthTestApplication extends WebApplication {
  import org.springframework.security.AuthenticationManager
  import scala.reflect.BeanProperty

  // injected/set by Spring context
  @BeanProperty var authenticationManager: AuthenticationManager = null
  ...
}
---8<---

web.xml:

---8<---
  <!-- Setting up Spring Context Listener -->
  <listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

  <!-- Setting up Acegi Security -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
      /WEB-INF/spring-security.xml
    </param-value>
  </context-param>
  <filter>
    <filter-name>Acegi Filter Chain Proxy</filter-name>
    
<filter-class>org.springframework.security.util.FilterToBeanProxy</filter-class>
    <init-param>
      <param-name>targetClass</param-name>
      
<param-value>org.springframework.security.util.FilterChainProxy</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>Acegi Filter Chain Proxy</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <!-- AuthTestApplication -->
  <filter>
    <filter-name>AuthTestApplication</filter-name>
    
<filter-class>de.footprint.wicket.application.locale.LocaleFilter</filter-class>
    <init-param>
        <param-name>applicationFactoryClassName</param-name>

<param-value>org.apache.wicket.spring.SpringWebApplicationFactory</param-value>
    </init-param>
    <init-param>
      <param-name>applicationClassName</param-name>
      <param-value>application.TestApp</param-value>
    </init-param>
    <init-param>
      <param-name>beanName</param-name>
      <param-value>authTestApplication</param-value>
    </init-param>
    <init-param>
      <param-name>configuration</param-name>
      <param-value>development</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>AuthTestApplication</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
---8<---

And the spring-security.xml as an example:

---8<---
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN'
'http://www.springframework.org/dtd/spring-beans.dtd'>

<beans>
  <bean id="filterChainProxy"
class="org.springframework.security.util.FilterChainProxy">
    <property name="filterInvocationDefinitionSource">
      <value>
        CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
        PATTERN_TYPE_APACHE_ANT

/**=httpSessionContextIntegrationFilter,logoutFilter,anonymousProcessingFilter
      </value>
    </property>
  </bean>

  <!-- Filter -->
  <bean id="httpSessionContextIntegrationFilter"
class="org.springframework.security.context.HttpSessionContextIntegrationFilter">
    <property name="forceEagerSessionCreation" value="true"/>
  </bean>

  <bean id="logoutFilter"
class="org.springframework.security.ui.logout.LogoutFilter">
    <constructor-arg value="/"/>
    <constructor-arg>
      <list>
        <bean
class="org.springframework.security.ui.logout.SecurityContextLogoutHandler"/>
      </list>
    </constructor-arg>
    <property name="filterProcessesUrl" value="/auth/logout"/>
  </bean>

  <bean id="anonymousProcessingFilter"
class="org.springframework.security.providers.anonymous.AnonymousProcessingFilter">
    <property name="key" value="guestKey"/>
    <property name="userAttribute" value="GUEST,ROLE_GUEST"/>
  </bean>

  <bean id="anonymousAuthenticationProvider"

class="org.springframework.security.providers.anonymous.AnonymousAuthenticationProvider">
    <property name="key" value="guestKey"/>
  </bean>

  <bean id='authenticationManager'
class='org.springframework.security.providers.ProviderManager'>
    <property name='providers'>
      <list>
        <ref local='testAuthenticationProvider'/>
        <ref local="anonymousAuthenticationProvider"/>
      </list>
    </property>
  </bean>

  <bean id='testAuthenticationProvider'
class='org.springframework.security.providers.dao.DaoAuthenticationProvider'>
    <property name='userDetailsService' ref='testUserDetailsService' />
  </bean>

  <bean id='testUserDetailsService'
class='org.springframework.security.userdetails.memory.InMemoryDaoImpl'>
    <property name='userMap'>
      <value>
        testadmin=testadmin,ROLE_ADMIN
        testuser=testuser,ROLE_USER
      </value>
    </property>
  </bean>

  <!-- Inject Wicket Application -->
  <bean id="authTestApplication" class="application.TestApp">
    <property name="authenticationManager" ref="authenticationManager"/>
  </bean>

</beans>
---8<---

Best regards, --- Jan.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to