【发布时间】:2016-08-21 14:08:16
【问题描述】:
我目前正在使用 Spring Boot 构建一个 REST API。目前该 API 将向 JavaFX 应用程序传递 JSON 数据,将来该 API 可能会被 Angular 应用程序访问。可能还值得注意的是,用户无法创建新用户,该责任将由系统管理员承担。我想知道这种 API 中的身份验证。
一般的想法是只有一个级别的授权,这将使用户可以访问系统中的所有数据。我想知道我应该如何实施此授权。我研究过的大多数解决方案(Spring 安全性、OAuth 等)似乎都不起作用,因为客户端应用程序不会在浏览器中运行。
目前,我在每次请求时都从客户端传递用户详细信息,并根据数据库中显示的密码哈希值检查它们。
所以我的问题是,如何保护不会在浏览器中运行的应用程序,因此无法访问 cookie、http 会话等。
【问题讨论】:
-
"...它们似乎无法工作,因为客户端应用程序不会在浏览器中运行。" - 你为什么这么认为? OAuth 或其中任何一个都可以在完整的应用程序中使用。您只需要实现客户端。任何客户端都可以访问 Cookie 等。简单的加密 cookie 机制或 OAuth 将满足您的需求。
-
Spring Security 适用于非 Web 或非浏览器应用程序
标签: java spring rest security http