【发布时间】:2014-09-16 21:55:36
【问题描述】:
我想在 Springboot 安全应用程序中公开一个不安全的 Restful 端点。对端点 /api/notify 的 GET 请求有效,但 POST 请求会导致 403。如何配置以便远程客户端可以从那里的服务器 POST 到 /api/notify?
我的扩展 WebSecurityConfigurerAdapter 如下所示:
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/").permitAll()
.antMatchers("/signup").permitAll()
.antMatchers("/reset").permitAll()
.antMatchers("/api/notify").permitAll()
.anyRequest().authenticated();
http
.formLogin()
.defaultSuccessUrl("/home")
.failureUrl("/login?error")
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}
【问题讨论】:
-
你能告诉我们 /api/notify 映射到的控制器方法吗?
-
我怀疑 csfr 保护阻碍了你。当发布 Spring Security 检查一个 csfr 令牌是否是表单提交的一部分时,它是不允许访问的。使用 java-config 时,默认启用
http.csfr().disable();禁用。
标签: spring-security spring-boot