1

我正在使用 linkerD 在 Java 中设置授权插件。目前我正在使用标识符来拦截请求并检查用户是否被授权。(以https://github.com/linkerd/linkerd-examples/tree/master/plugins/header-classifier为例)

如果用户未经授权,则请求不应到达后端服务。在这种情况下,我会抛出运行时异常(如果有其他方法可以阻止请求到达后端,请告诉我)。Linkerd 将响应作为 502 Bad Gateway 发送。Linkerd 应该有一种机制,通过它我可以指定我想要发回的 HTTP 状态代码。

我尝试将 responseClassifier 与标识符一起使用,但看起来在引发异常时未调用 responseClassifier。

4

1 回答 1

0

根据对此问题的评论,目前无法从标识符插件发回自定义响应代码:

这是使用标识符插件接口进行授权的限制。如果您愿意,可以返回 UnidentifiedRequest 异常,该异常将返回 400 Bad Request。从长远来看,我们希望添加一个专门用于授权的新插件接口,这将允许对错误响应进行更多控制。

但 linkerd 计划在未来的版本中添加对授权插件的更好支持。

于 2017-07-20T01:08:23.547 回答