java - 如何使用 Spring Security 禁用 @Controller 内单个路径的授权

标签 java spring spring-security

可以通过配置 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, 其余的将被阻止。

关于java - 如何使用 Spring Security 禁用 @Controller 内单个路径的授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49053537/

相关文章:

java - 为什么Java中的运行时异常是 "unchecked"?

java - 使用 Spring Security 进行授权

java - 无法用spring boot+JWT+MySQL实现RBAC

java - 如何使用 spring saml 应用程序的公钥和私钥创建 JKS 文件?

java - 枚举中的私有(private)静态最终变量

java - 如何从 Evernote API 获取带有图像的笔记?

java - 插入数据库时​​出错 - 空字段

java - dao、tx、服务结构 : where to place a method querying an abstract entity?

Spring Data Jpa - 当 @transactional 存在时存储库不会引发异常

java - 为什么 Spring Security 在 Tomcat 中工作,但在部署到 Weblogic 时却没有?