Spring安全--使用REST方法的CSRF

问题描述 投票:0回答:1

我有一个 rest api,在这里我暴露了 get、post、put 和 delete 方法。我使用spring security并实现了基本的认证。我允许GET请求由一个拥有 USER 而其他请求只能由角色为ADMIN的用户提出。我看到如果我不在其中加入 crsf().disable() 行,只有GET方法能正常工作,而其他方法则得到403 Forbidden。然而,当我添加 csrf().disable() 所有的方法都能正常工作。这是预期的还是我做错了什么?

spring rest security csrf
1个回答
0
投票

csrf 启用后,springboot 希望你在向端点发出的每个请求中发送 csrf 令牌。 如果没有包含这些,那么请求会被拒绝,你会得到403响应代码。这就像一个HTTP会话。但其他端点是无状态的,所以最好不要使用 csrf 与它。休息端点基本上对csrf攻击免疫,因为他们是无状态的。文档.

© www.soinside.com 2019 - 2024. All rights reserved.