如何为 Microprofile Messaging 实现 @RolesAllowed 功能?

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

我还没有看到任何有关此主题的文章,所以我想知道在 Quarkus 应用程序中使用

@Incoming
@Outgoing
时如何保护我的方法?

在常规 REST 应用程序中,我会使用

@RolesAllowed
,但是在使用 RabbitMQ 等进行消息传递时不起作用?

令我惊讶的是,没有视频谈论确保只有某些组/角色可以在从事件总线接收到事件时实际执行代码。我不是在谈论谁可以真正连接到服务器,而是谁可以在消息接收器方法中执行代码。

这是一个有效的请求吗?还是每个人都认为 API 网关会处理系统中的所有事务,而不关心网关后面的服务之间的安全性?

我只是在考虑任何潜在的roque员工等……并不是说我们有任何员工,而是总是在思考“假设”

我假设支持它,我们需要传入 JWT 令牌并在请求事件消息或类似内容中手动验证它。

谢谢!

quarkus microprofile
1个回答
0
投票

这通常在具有主题或队列访问权限的消息代理连接上强制执行。一旦连接到所需的授权级别,应用程序就可以在其权限范围内生成和使用消息。这就是网关后面的服务之间的安全性。

即使您通过消息代理进行请求-回复,我认为您也可以控制客户端端点上的访问,而不是通过每个请求检查来控制生产者。在某些情况下,您可能希望从客户端的请求中提取授权,并决定是否可以向目标发送消息。

对于消费者来说,传入消息不会在客户端请求范围内接收,因此您需要应用一个也非常特定于消息传递技术的自定义过滤器。

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