【问题标题】:Make that one rest api does not need any logging使一个 rest api 不需要任何日志记录
【发布时间】:2016-05-26 16:55:08
【问题描述】:

我的应用程序中有一个 Spring Security 配置,因此所有其余接口都需要通过一些过滤器和身份验证。

这是我的安全配置:

@Configuration
@EnableWebSecurity
public class MyProgramSecurityConfiguration extends WebSecurityConfigurerAdapter {

    ....
    @Override
    protected void configure(final HttpSecurity http) throws Exception {

        http.addFilterBefore(restBasedAuthenticationFilter, UsernamePasswordAuthenticationFilter.class)
        .csrf().disable()
        .authorizeRequests().anyRequest().authenticated()
        .and()
        .exceptionHandling().authenticationEntryPoint(authenticationEntryPoint())
        .and()
        .logout().permitAll(false)
        .addLogoutHandler(logoutHandler).logoutRequestMatcher(new AntPathRequestMatcher(LOGIN_PATH, HttpMethod.DELETE.toString()))
        .logoutSuccessHandler(getLogoutSuccessHandler())
        .and()
        .sessionManagement().maximumSessions(5);

        http.addFilterAfter(termsAndConditionsFilter, TermAndConditionFilter.class);
        http.addFilterAfter(certificateValidationFilter, TermsAndConditionsFilter.class);
        ... // some other filters
    }
    ....
}

但是,正如我在问题标题中所描述的,我希望有一个端点/internal/application/info,任何人都可以调用它,而无需任何身份验证、日志记录或其他任何操作。我认为你可以用regexMatcher 做到这一点,对吗?

【问题讨论】:

    标签: regex rest spring-mvc url spring-security


    【解决方案1】:

    我认为你应该再添加一个 HttpSecurity 类的方法,类似这样:

    ....
    .and()
    .authorizeRequests()
    .antMatchers("/internal/application/info")
    .permitAll()
    ....
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多