我有一个由REST API组成的Web应用程序,然后是另一个代表此API前端的应用程序。这两个应用程序都是使用Spring开发的。
目前我的REST api不安全,可以通过调用REST端点直接访问数据,而无需额外的安全信息。
我的前端确实有一个登录表单(我使用的是Spring Security),但是没有访问数据库(唯一的访问是通过REST端点)。因此,登录过程是通过AuthenticationProvider的扩展来完成的,该扩展使用用户和密码调用REST api,然后使用身份验证结果进行响应。在REST方面没有保留身份验证/授权,因为据我所知,该协议应该是无状态的。
问题是我需要将ACL合并到我的应用程序中,以便用户只能看到他有权查看的资源(即他创建的那些资源)。但鉴于我的身份验证过程发生在前端层(我将会话属性与用户信息保持在一起),我有两个主要问题:
答案 0 :(得分:1)
做无状态并制作两个单独的Web应用程序通常是矫枉过正。 我通常最终会做的是。
这也是一些针对rest API的不同替代方案的线程。
How to do authentication with a REST API right? (Browser + Native clients)