当前位置: 首页 > 知识库问答 >
问题:

如何在没有spring security的情况下使用api密钥保护rest api

潘宸
2023-03-14

我有一个rest apimyRestapi.war,它是一个Spring Boot和spring mvc项目。

还有另一个web项目a.war,它是一个普通的spring项目。它的前端如JavaScript和后端如Java code需要调用MyRestAPI。用户需要登录a.war才能使用它。

我不需要对myrestapi做权限控制,只有登录a.war的用户才能通过a.war的前端和后端访问myrestapi

有一些解决方案,如API密钥JWTOAuth

我想尝试这三种方法,然后选择一种。

共有1个答案

佟英武
2023-03-14

如果不想使用spring Security,可以编写自己的筛选器。此筛选器将对所有URL进行交互操作。在这个过滤器中,您可以检查头中的API键并进行验证。如果是validate,让链继续,否则会向用户/应用程序抛出一些有意义的错误。

 类似资料:
  • 我正在开发一个服务器端应用程序,即RESTAPI。用户可以通过这个API将自己手工制作的客户端的数据发布到我们自己的系统中。当然,我会记录数据的格式。但我的问题是,使用OAuth2实现身份验证是明智之举,还是我最好只使用SSL基本身份验证路由?若然,原因为何?我在谷歌上搜索了大量关于OAuth2的帖子和指南,如果不是他们正在处理的客户端,那就是Spring Security组合,我发现它很难遵循,

  • 如何在Azure密钥库中设置秘密,而不使用PowerShell。我们正在使用Azure Key Vault来安全地存储连接字符串和一些其他应用程序秘密。我们可以使用PowerShell脚本添加秘密,但我想知道是否有其他方法可以在Azure KeyVault中添加密钥,最好是使用API。我们实际上需要提供一个管理工具,应用程序管理员可以使用该工具在密钥库中添加/修改机密。

  • 我试图保护Spring BootAPIendpoint。我希望只传递api密钥和秘密作为头的一部分来调用api。我尝试了这个链接中发布的代码。但是在头中使用授权调用api时拒绝访问。使用API key和secret保护Spring Boot API我想知道我应该作为头部的一部分传递什么,这样我就可以从API获得成功的响应。我做了以下步骤:我在application.properties中添加了以下

  • 我有一个问题要解决,我应该在哪里从使用Java8 streams的员工列表中找到性别为男性的第n个员工,如果没有找到,则返回可选的空。 下面是接受Employee对象列表和整数n的方法,其中n表示必须返回的第n个男性雇员(如果存在的话)。

  • 我想保护Spring Boot API,使它只对具有有效API密钥和秘密的客户机是可访问的。但是,由于所有数据都是匿名的,程序内部没有身份验证(使用用户名和密码的标准登录)。我试图实现的只是所有API请求都可以仅用于特定的第三方前端。

  • 问题内容: 我正在开发一个网站,用户使用ajax,php和POST方法提交凭据,我想保护登录凭据的格式不是纯文本,但我不想使用SSL我可以在不使用SSL证书的情况下保护密码凭据吗? 谁能给我任何方法的工作示例? 问题答案: 没有一些通道外验证(SSL提供),您将无法完全保护凭据。一个在中间攻击的人永远是可能的。 简而言之,客户端无法完全确定他们正在与服务器通信,而不是在两者之间插入假服务器。