2

我做了以下步骤,但我不明白为什么最后一个没有成功:

  1. 克隆此存储库
  2. 启动 Spring Boot 应用程序
  3. 浏览到 http://localhost:5002/ff4j-web-console/features
  4. user/user使用(也尝试过admin/adminsuperuser/superuser)登录
  5. 尝试创建新功能但收到 403 错误消息

我希望控制台(+api)受到基本身份验证的保护,但我希望在登录时能够做任何事情。我怎样才能做到这一点?我是否遗漏了 spring 和 ff4j 之间的安全性如何工作?

4

1 回答 1

1

使用带有 Java 配置的 Spring Security,默认情况下启用 CSRF 保护。在这种情况下,如果您使用 POST 方法向 REST 端点发出 Ajax 请求,您将收到一个 csrf 令牌丢失错误。

要修复它,请在类SecurityConfig更改configure方法中使用以下内容。代码也已在 github 中更新。

protected void configure(HttpSecurity http) throws Exception {
 http.csrf().disable()
     .authorizeRequests()
     .anyRequest().authenticated()
     .and().formLogin();
}
于 2020-06-30T18:19:15.793 回答