You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Micronaut Security:合法JWT授权用户的DELETE路由抛出AuthorizationException

Micronaut Security DELETE请求携带有效JWT仍被拦截问题

我正在学习Micronaut Security的运行机制,官方文档没解决我的问题。当前环境:

  • Java 23
  • Micronaut 4.7.4
  • Micronaut Security 4.11.2

我已经自定义了AuthenticationProvider来生成JWT,application.yaml配置如下:

micronaut:
  security:
    enabled: true
    authentication: bearer
    token:
      jwt:
        enabled: true
        bearer:
          prefix: Bearer
          header-name: Authorization

我写了一个包含5个接口的控制器,其中GET、POST、PATCH接口都能正常工作,但DELETE接口会抛出AuthorizationException。@Secured注解功能正常——移除这个注解后,所有请求都会被拦截。

我试过给用户添加ROLE_ADMIN角色,也没有任何效果。控制器代码如下:

@Controller("/v1/resource")
@Secured(SecurityRule.IS_AUTHENTICATED)
public class ResourceController {

    @Get
    public Page<Entity> findAll(Pageable pageable);

    @Get("/{id}")
    public Entity findById(@PathVariable("id") UUID id);

    @Post
    @Status(HttpStatus.CREATED)
    public Entity create(@Body EntityDTO dto);

    @Patch("/{id}")
    public Entity update(@PathVariable("id") UUID id, @Body EntityDTO dto);

    @Delete("/{id}")
    public Entity deleteCategory(@PathVariable("id") UUID id);
}

请问我哪里操作有误?

内容的提问来源于stack exchange,提问作者Maximiliano Nunes Catarino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 18:56:05