2011-10-21 14 views
6

¿Cuál es la mejor manera de inicializar un contexto Spring dada la autenticación previa a través del token Websphere LTPA SSO? En este momento tengo un filtro personalizado que proporciona un PreAuthorizedAuthenticationToken para el contexto Spring Security. ¿Hay algún filtro que haga esto automáticamente? Siempre he tenido problemas con GrantedAuthorities cuando he intentado usar las clases de PreAuth.Preauthentication with LTPA token

Saludos

Respuesta

1

La mejor opción es tener un filtro de autenticación previa personalizada extendiendo AbstractPreAuthenticatedProcessingFilter.

Puede recuperar el token de la solicitud y devolverlo en el método getPreAuthenticatedCredentials().

Usted puede definir su propio AuthenticationUserDetailsService y pasarlo a PreAuthenticatedAuthenticationProvider, aquí se puede recuperar las autorizaciones otorgadas y devolverlos en DetallesUsuario Objeto

<bean id="preAuthAuthenticationProvider" 
      class="org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider"> 
     <property name="preAuthenticatedUserDetailsService"> 
      <bean id="myUserDetailsService" 
        class="MyUserDetailsService"> 
      </bean> 
     </property> 
    </bean> 

Si ha concedido autenticación, que no empiezan con PAPEL prefijo por defecto, puede definir su prefijo personalizado

<bean id="myPermissionRoleVoter" class="org.springframework.security.access.vote.RoleVoter"> 
     <property name="rolePrefix" value="myprefix"/> 
    </bean>