【发布时间】:2018-03-21 15:43:03
【问题描述】:
我正在尝试找到一种解决方案来在我的应用程序中实现身份验证和授权,该应用程序通过 REST API 公开服务并且目前有一个 Web 应用程序客户端:
| Web 应用程序客户端 | -> JSF / Primefaces
| REST API | -> JAX-RS / 泽西岛
|业务逻辑和持久化 API | -> EJB / JPA
|数据库 | -> MySQL
REST API 公开了几个服务,其中还有一个登录服务。我正在考虑通过在每个客户端请求上根据我的身份验证机制(也在上面提到的登录服务后面使用)读取和检查用户的凭据来保留 REST 无状态约束。
在 Web 应用程序方面,我可能会检查受保护的资源访问(阻止 URI 访问、启用/禁用 GUI 按钮),使用我在 REST 登录调用后作为响应获得的用户和相关角色信息,并将这些信息保存在HTTP 会话。
现在,当在 Web 应用程序级别检查并验证某些用户的操作已被授予时,将再次在 REST API 级别执行第二次检查。
您认为这种方法正确吗? 我试图了解是否可以避免对两层的授权进行双重检查。
此外,我正在评估在我的一层或两层中引入 Spring Security,我可以利用它吗?
提前致谢,祝你有美好的一天!
【问题讨论】:
标签: java rest security jsf spring-security