2011-11-21 97 views
0

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

我目前遇到的问题是如何确定如果认证失败而无需为每个端点方法添加自定义代码片段,实际拒绝或重定向请求。

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

我可以在每个方法中添加一个片段来检查认证是否已经失败,如果是这样,退出方法,但那种失败摆在首位使用过滤器的整个点...

我该如何处理这种情况?

回答

2

如果身份验证失败,请将WebApplicationException与您希望从请求过滤器返回给客户端的所需响应一起引发。