如何使用Spring Security禁用@Controller中的单个路径授权[复制]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Spring Security禁用@Controller中的单个路径授权[复制]相关的知识,希望对你有一定的参考价值。

通过配置HttpSecurity可以禁用特定路径的授权:

@Override
public void configure(HttpSecurity http) throws Exception {
  http.authorizeRequests()
      ...
      .antMatchers("/some/open/resources/**")
      .permitAll();
}

是否也可以在Spring @Controller级别上做同样的事情?最好通过一些注释,如下所示:

@RequestMapping(value = "/some/open/resources/")
@NoAuthorization
public void get() {
    // return something
}
答案

我不知道,但你可以这样做:

    http.authorizeRequests()
        .anyRequest().permitAll();
            .antMatchers("/", "/home").permitAll()
            .antMatchers("/viewFingerprints").permitAll()
            .anyRequest().authenticated()

你只能访问/home/viewFingerprints,其余的将被阻止。

以上是关于如何使用Spring Security禁用@Controller中的单个路径授权[复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用xml在spring security中禁用注销确认?

如何使用Spring Security禁用@Controller中的单个路径授权[复制]

如何禁用 Spring Security 的登录屏幕? [复制]

如何在 Grails/Spring Security 插件中禁用 /login/auth

如何在 Spring Web App 中临时禁用 Spring Security

我们如何禁用 /oauth/token 的 GET 选项端点,并且只在 Spring Security 中保留 POST 选项?