泽西岛+Tomcat 验证

Jersey+Tomcat authenticate


如何在 Tomcat6 下的 Jersey 1.18 上实现用户身份验证? Tomcat6 使用 Realms(暂时不能使用)或 Servlets(如果用户可以调用 URI,则使用调度程序逻辑)。 Jersey 有带过滤器的 ServletContainer,但我找不到这个目标。
我需要的是:

  1. 检索用户名 (httpReq.getRemoteUser())
  2. 从数据库加载用户角色
  3. 检查用户角色对 URI 的访问并抛出 401

用哪个Class/Jersey.Filter/Jersey.Servlet可以处理第3步?
真的很抱歉,Realms 太多了,但是这个服务器有自己的 Realm 模块,出于安全原因,它不能重新实现。由于 Jersey Servlet Container 的存在,我担心使用 Http Servlets。
感谢您的建议 ;-)

作者:lrnzcig 2 月 25 日 19:20
你好!我会做一个 authenticationFilter,你有很多答案可以看,例如这个。但是,我快速浏览了 Jersey 1.18 的文档,它真的很旧!我不认为你可以在 Jersey 1.18 中以同样的方式做到这一点。我想唯一的方法是在 tomcat 级别添加过滤器,如果身份验证正常,则将请求传递给泽西岛,否则,您将 return 错误代码。希望对你有帮助。