Java based configuration to enable spring security anonymous access

前端 未结 2 443
有刺的猬
有刺的猬 2021-01-05 18:01

I want to enable the use of \"ROLE_ANONYMOUS\" to allow anonymous access to some urls in my app. And I used the below configuration.

@Overr         


        
2条回答
  •  一整个雨季
    2021-01-05 18:19

    As Faraj Farook wrote, you have to permit access to your login page URL. You commented the relevant line out:

    @Override
    protected void configure(HttpSecurity http) throws Exception {
         http
            .anonymous()
                .authorities("ROLE_ANONYMOUS")
                .and()
            .headers()
                 .cacheControl()
                 .and()
            .authorizeRequests()
                .antMatchers("/").permitAll()
                .antMatchers("/profile/image").permitAll()
                .antMatchers("/favicon.ico").permitAll()
                .antMatchers("/resources/**").permitAll()
    
                .antMatchers(HttpMethod.GET, "/login/**").permitAll()
    
                .anyRequest().authenticated()
    }
    

    But if you prefer not to use permitAll() you could use hasAuthority("ROLE_ANONYMOUS"). In this case you don't need to annotate your method with @Secured( value={"ROLE_ANONYMOUS"}).

提交回复
热议问题