java - 使用 JAX-RS/Jersey 以多种方法进行身份验证 - 如何保持干净?

标签 java authentication jersey jax-ws

我正在开发一个使用 JAX-RS/Jersey 和 Spring 用 Ja​​va 编写的 Web 服务。

WS 在用户登录时对用户进行身份验证,并返回具有有限生命周期的访问 key 。大多数可用方法都需要有效的“访问 key + userId”组合。

对于所有可用的方法,我使用 @FormParam 来检索 POST 参数,并且响应采用 JSON 格式。我想弄清楚的是如何避免打字

@FormParam("userId") final Integer userId,
@FormParam("accessKey") final String accessKey

并为我将拥有的可能需要身份验证的 20 种方法中的每一种手动调用我的身份验证方法。这特别麻烦,因为我还必须添加代码来处理例如访问 key 已过期。

是否有另一种方法可以检索上述两个参数并执行身份验证,以便我可以保持方法干净?

最佳答案

由于您使用的是 Jersey,因此您可以使用类似 servlet 过滤器的 API 来干燥您的代码。查看:

关于java - 使用 JAX-RS/Jersey 以多种方法进行身份验证 - 如何保持干净?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11805312/

相关文章:

java - 使用与 gson 的 csv-headers 不同的属性名称将 csv-table 映射到 json 的简单方法?

java - 将 EhCache 磁盘存储内容加载到内存中

authentication - 为 Jekyll 站点的某些页面添加身份验证

authentication - Symfony 2 身份验证与(学说)实体

spring - 在 ContainerRequestFilter 中填充 spring 请求范围的 bean

java - 这段代码有什么作用? (Java 集合)

macos - 如何在 Mac OS X 上获取 JDK 1.5

非域 Windows 环境中的 C# 编程远程文件夹/文件身份验证

jersey - 如何强制 URIBuilder.path(...) 对像 "%AD"这样的参数进行编码?此方法并不总是正确地用百分比编码参数

java - Tomcat 7 : process request out of band