0

Spring Security 提供了 Kotlin DSL 以便于配置。这是Spring 博客中的一个示例:

override fun configure(http: HttpSecurity?) {
    http {
        httpBasic {}
        authorizeRequests {
            authorize("/greetings/**", hasAuthority("ROLE_ADMIN"))
            authorize("/**", permitAll)
        }
    }
}

我只想允许对特定路径的 POST 请求。在 Java 中,您可以执行以下操作:

http
  .httpBasic().and()
  .authorizeRequests()
    .antMatchers(HttpMethod.POST, "/greetings").hasRole("ADMIN");

使用 Kotlin DSL 的任何示例?

4

1 回答 1

1

问得太早了。似乎我在查看源代码后找到了解决方案。

添加以供将来参考:

override fun configure(http: HttpSecurity) {
    http {
        csrf { disable() }
        httpBasic {}
        authorizeRequests {
            authorize(AntPathRequestMatcher("/greetings", HttpMethod.POST.name),  hasRole("ADMIN"))
            authorize("/**", denyAll)
        }
    }
}
于 2020-08-25T10:15:51.990 回答