Spring Security Java Config no genera URL de cierre de sesión

Estoy usando Spring4.0.5. LIBERACIÓN y seguridad de primavera3.2.4.

Estoy tratando de crear una aplicación de muestra simple usando la configuración de Java (basada en las muestras de Spring). La aplicación se inicia y la autenticación funciona correctamente, es decir, se me redirige a un formulario de inicio de sesión cuando accedo a la URL protegida/ configuración / perfil

Sin embargo no hay/cerrar sesión url generada? si presiono localhost: 8080 / logout obtengo un 404.

He usado un código similar en un proyecto anterior, ¿quizás tenga algo que ver con las versiones?

Aquí está mi configuración de seguridad

@Configuration
@EnableWebMvcSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication().withUser("user").password("password").roles("USER");
        auth.inMemoryAuthentication().withUser("admin").password("password").roles("ADMIN");
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .antMatchers("/settings/**").hasRole("ROLE_ADMIN")
                    .and()
                .formLogin()
                    .and()
                .logout()
                    .deleteCookies("remove")
                    .invalidateHttpSession(true)
                    .logoutUrl("/logout")
                    .logoutSuccessUrl("/logout-success")
                .permitAll();
    }
}

Aquí está mi WebAppInitializer para arrancar la aplicación

 public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class<?>[] { SecurityConfig.class , MvcConfig.class };
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        return null;
    }

    @Override
    protected String[] getServletMappings() {
         return new String[] {"/"};
    }
}

y finalmente mi MvcConfig

@EnableWebMvc
@Configuration
@ComponentScan(basePackages = {"web"})
public class MvcConfig extends WebMvcConfigurerAdapter {

    @Bean
    public ViewResolver viewResolver() {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setViewClass(JstlView.class);
        viewResolver.setPrefix("/WEB-INF/views");
        viewResolver.setSuffix(".jsp");
        return viewResolver;
    }
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta