使用Java Config混淆Spring Security匿名访问

我在Spring Security中使用以下Java Config:

protected void configure(HttpSecurity http) throws Exception {
    http
        .authorizeRequests()
            .anyRequest().authenticated()
            .and()
        .httpBasic();
}

基于此配置,所有请求都经过身份验证。 当您未经身份验证而击中控制器时, AnonymousAuthenticationFilter将使用username=anonymousUser, role=ROLE_ANONYMOUS为您创建一个Authentication对象。

我试图提供一个特定的控制器方法的匿名访问,并试图使用以下每一个:

  • @Secured("ROLE_ANONYMOUS")
  • @Secured("IS_AUTHENTICATED_ANONYMOUSLY")
  • 当调用控制器方法时,会给出以下响应:“HTTP状态401 - 访问此资源需要完全身份验证”

    有人可以帮助我理解我们为什么会收到此消息,以及为什么ROLE_ANONYMOUS / IS_AUTHENTICATED_ANONYMOUSLY似乎无法使用此配置?

    谢谢,
    J.P


    您的安全配置会阻止所有未经身份验证的请求。 您应该允许访问控制器

    .antMatchers("/mycontroller").permitAll()
    

    也可以看看:

  • http://spring.io/blog/2013/07/03/spring-security-java-config-preview-web-security/
  • 链接地址: http://www.djcxy.com/p/19393.html

    上一篇: Confusion around Spring Security anonymous access using Java Config

    下一篇: Get exact html() with closing tag for which starting tag is missing