Configurer la Sécurité Printemps sans XML au Printemps 4

Je veux utiliser un custom authentication filter que:

  1. capture chiffré en-tête de jeton
  2. après validation, extrait les données de l'utilisateur et les ajoute à la demande actuelle du contexte de sécurité dans un apatride, de façon

Je veux être en mesure d'utiliser ce contexte de sécurité, titulaire pour obtenir les détails sur l'actuel demandant à l'utilisateur de gérer correctement leurs demandes.

@RequestMapping(value = "/simple", method = RequestMethod.POST)
@ResponseBody
@Transactional
@Preauthorize(...)
public String simple(){
   //collect the user's current details from the getPrinciple() and complete the transaction...
    Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    return "Simple";
}

Je l'ai fait avant d'en XML comme suit:

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:security="http://www.springframework.org/schema/security"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.2.xsd">

    <security:global-method-security
        secured-annotations="enabled" />

    <security:http pattern="/**"
        auto-config="true" disable-url-rewriting="true" use-expressions="true">
        <security:custom-filter ref="authenticationTokenProcessingFilter"
            position="FORM_LOGIN_FILTER" />
        <security:intercept-url pattern="/authenticate"
            access="permitAll" />
        <security:intercept-url pattern="/secure/**"
            access="isAuthenticated()" />
    </security:http>

    <bean id="CustomAuthenticationEntryPoint" class="org.foo.CustomAuthenticationEntryPoint" />

    <bean class="org.foo.AuthenticationTokenProcessingFilter" id="authenticationTokenProcessingFilter">
        <constructor-arg ref="authenticationManager" />
    </bean>

</beans>

Cependant, je veux que ce travail avec une nouvelle Spring Boot application dans un non-xml WebSecurityConfigurerAdapter comme l'exemple dans leur Ressort les fichiers de Démarrage:

    @Bean
    public ApplicationSecurity applicationSecurity() {
        return new ApplicationSecurity();
    }

    @Order(Ordered.LOWEST_PRECEDENCE - 8)
    protected static class ApplicationSecurity extends WebSecurityConfigurerAdapter {
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            //this is obviously for a simple "login page" not a custom filter!
http.authorizeRequests().anyRequest().fullyAuthenticated().and().formLogin()
                        .loginPage("/login").failureUrl("/login?error").permitAll(); 
            }
        }

Des conseils ou des exemples similaires là-bas?