java - 如果使用 REST API 登录,如何在页面请求中授权用户?

标签 java web-services rest servlets user-management

之前我问过一个问题Access control to a page with REST service

但也许我需要更简短、更笼统地询问才能得到这个想法。

我有一个 REST API。客户端是浏览器。 “登录”也是我的 REST 服务之一,用户在其中输入其凭据并进行身份验证。然后,用户开始导航不同的页面。

请注意,我不会询问 REST API 安全性、身份验证/授权等问题。

问题是:

如何通过 REST API 检查用户之前是否经过身份验证,以查看用户是否有权查看特定网页? (Web Server基于java)

感谢您的任何想法。

编辑:

我发现问题已被理解如何使用 REST API 进行授权。

通过 REST API 进行身份验证后,我不会向 REST API 询问其他请求。我希望在我的 Web 服务器 中看到该身份验证,该服务器位于另一个域,与 REST 服务器隔离。我想象了一些解决方法;不过我想听听设计方案。难道没有人把他的Web Server和REST API分开吗?这是完全错误的吗?

最佳答案

身份验证是用户是否可以登录您的应用程序。
授权是用户是否有权查看特定页面。
我假设您询问的是身份验证后的授权。
在处理登录 Post请求时,您可以创建一个 session ID(加密且有时间限制)并将其设置到响应 header 中,然后每当该用户发送另一个请求,它应该是请求 header 的一部分,并且在您的服务器端,您可以检查此 session 请求 header 以授权用户。

关于java - 如果使用 REST API 登录,如何在页面请求中授权用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16562298/

相关文章:

java - 无法以不同的作业名称和组运行同一类,同时运行

java - 如何将 parseInt 数组传递给上一个数组?

javascript - Dynamics crm 2016 - Web API 查询 - 动态值

c# - 使用 GET 访问 WCF 休息服务时出现 400 http 错误请求错误

spring - 如何使用 Spring RESTful Web 服务处理 CSRF 保护?

java - 如何强制 Java 应用程序登录网络代理?

java - 我可以使用什么数据结构按多个条件对对象进行排序/比较?

c# - asmx 网络服务上的大型二进制文件

javascript - 跟踪公交车 GPS 点是否在路线上 - Google Maps API

jquery - Cordova 混合应用程序与 Siteminder protected REST 资源集成