我有一个rest api MyRestApi.war
,它是一个spring boot和spring mvc项目。
还有另一个Web项目A.war
,它是正常的spring项目。
它的前端(例如javascript
和后端(例如java code
)需要
呼叫MyRestApi
。用户需要登录A.war
才能使用它。
我不需要对MyRestApi
进行权限控制,只有登录A.war
的用户才能通过MyRestApi
的前端和后端访问A.war
< / p>
有一些解决方案,例如API key
,jwt
,OAuth
。
我想尝试这三种方法,然后选择一种。
但是当我搜索类似api key authentication
之类的东西时,他们都使用spring security
来做到这一点。
那么,如何在没有Spring安全性的情况下使用api密钥保护MyRestApi
。
答案 0 :(得分:2)
如果不想使用spring安全性,可以编写自己的过滤器。该过滤器将拦截所有URL。 在此过滤器中,您可以检查标题中的API密钥并进行验证。 如果通过验证,则让链继续进行,否则向用户/应用程序抛出一些有意义的错误。