服务器上的自定义身份验证

时间:2011-11-21 23:57:09

标签: java rest jersey

我正在尝试使用Jersey(与Spring一起运行)实现一些自定义身份验证。我已经让认证逻辑正常工作并将其放在ContainerRequestFilter中。

我目前遇到的问题是,如果身份验证失败,如何在不必为每个端点方法添加自定义代码段的情况下实际拒绝或重定向请求。

我尝试在ContainerRequestFilter过滤器方法中更改URI和方法类型,但它不起作用。虽然请求的属性已更改,但即使身份验证失败,Jersey仍将执行原始方法。

我可以在每个方法中添加一个片段来检查身份验证是否失败,如果是这样,退出方法,但这种方法首先打败了使用过滤器的整个过程......

我该如何处理这种情况?

1 个答案:

答案 0 :(得分:2)

如果身份验证失败,请抛出一个WebApplicationException,其中包含您希望从请求过滤器返回到客户端的所需响应。