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

标签 java rest jersey

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

我当前遇到的问题是如何在身份验证失败时实际拒绝或重定向请求,而无需向每个端点方法添加自定义代码片段。

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

我可以在每个方法中添加一个片段来检查身份验证是否失败,如果失败,则退出该方法,但这种方式首先就破坏了使用过滤器的全部意义......

我该如何处理这种情况?

最佳答案

如果身份验证失败,请抛出 WebApplicationException 以及您希望从请求过滤器返回给客户端的所需响应。

关于java - 服务器上的自定义身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8220234/

相关文章:

java - 不幸的是 <app><package> 已在 android 模拟器中停止-错误,如何解决这个问题?

ArrayList 中的 Java 字符串对象

jersey - 混合 Guice 构造函数注入(inject)和 Jersey @Context

java - web.xml 中的条件错误页面/使用 Jersey 跳过错误页面

java - 简单的 XML 框架 - 奇怪的错误

java - java中的HMACSHA1 oauth_signature

java - 编译java代码错误

qt - 使用Qt设置http get请求参数

.net - PayPal .Net 从一个客户转移到另一个客户

rest - 无法使用/* 以外的 url 模式进行 REST 调用