Jakarta ee 限制访问JavaEE RESTFul API的最佳方法

Jakarta ee 限制访问JavaEE RESTFul API的最佳方法,jakarta-ee,jersey,jax-rs,Jakarta Ee,Jersey,Jax Rs,限制第三方访问(JAX-RS)RESTFul API的最佳(也是最容易的)方法是什么 (我希望这些API只供我的应用程序使用)有几种。为了简单起见,它们是: 阻止防火墙中的访问 HTTP-BASIC身份验证 API密钥(共享密钥)身份验证 中科院 非统组织 这取决于你有什么样的额外要求。但从您的简要描述来看,我认为简单的防火墙是您的最佳解决方案。对于应用程序级别,您可以尝试Spring Security并在URL级别进行限制,或者如果您想要更简单,您可以通过在web.xml上使用Servlet规

限制第三方访问(JAX-RS)RESTFul API的最佳(也是最容易的)方法是什么


(我希望这些API只供我的应用程序使用)

有几种。为了简单起见,它们是:

  • 阻止防火墙中的访问
  • HTTP-BASIC身份验证
  • API密钥(共享密钥)身份验证
  • 中科院
  • 非统组织

  • 这取决于你有什么样的额外要求。但从您的简要描述来看,我认为简单的防火墙是您的最佳解决方案。

    对于应用程序级别,您可以尝试Spring Security并在URL级别进行限制,或者如果您想要更简单,您可以通过在web.xml上使用Servlet规范API来实现,请记住,restful web服务生命周期的工作原理与servlet相同。

    如果它们共享相同的HTTP会话,只需在会话范围内设置并检查一个密钥/令牌,例如,可以是登录用户。这并没有提供100%的限制,但至少让其他人更难实际使用您的API。防火墙是在应用程序级别实现的(如Servlet过滤器)还是其他一些专用的外部措施?如果API直接由其他公共应用程序(如网站)使用,则防火墙不适用杜克:我要说的是专门的外部措施。但这取决于您的项目。您将如何使用Spring安全性来实现这一点?您将如何使用机器接口?这是隐式的(HTTP-BASIC),对@DUKE的需求是,他希望这些API仅由他的应用程序使用,当您在应用程序上添加安全性时,除非您进行身份验证,否则没有人可以访问API,如果您进行了身份验证,则可以访问完整的API,这完全取决于安全性的配置和项目的需求。