1

从有关 REST 服务的帖子中,我看到它应该与会话一起使用 REST,并且每个请求都需要将用户凭据发送到 REST 服务。但是我没有看到有人继续登录后如何在下一个请求中进行授权。

在我的项目中,我验证(登录)用户,从数据库服务器检查他的凭据。

如果每个 REST 请求也再次出现用户凭据,这是否意味着,对于登录后的任何授权需要,我需要再次从数据库中检查凭据?这意味着,登录后,几乎每次点击和浏览页面时,我都需要访问数据库以检查用户凭据,就像登录时一样。

或者...

我错过了什么吗?

是否有另一种方法可以在服务器端记住用户之前已经登录并因此获得授权?

我是否在服务器中保留一些与用户相关的密钥,然后检查这个等?但是,这不意味着保持会话吗?

REST => 非会话 => 随每个请求发送凭据

以上是否意味着,=> 像在身份验证中一样授权用户

或者还有什么其他选择?

谢谢你的澄清。

4

2 回答 2

0

我认为这是最好的方法:

REST => 非会话 => 随每个请求发送凭据

看看OAuth。1.0 版可能对您有用。

Spring Security 已经在 J​​ava 中实现了 OAuth。

于 2013-05-14T18:34:29.560 回答
0

如果每个 REST 请求也再次出现用户凭据,这是否意味着,对于登录后的任何授权需要,我需要再次从数据库中检查凭据?

  1. 您必须在每个请求上对用户进行身份验证,但身份验证是否使用数据库取决于实现。顺便说一句,您还必须对经过身份验证的用户的请求进行授权。

我是否在服务器中保留一些与用户相关的密钥,然后检查这个等?但是,这不意味着保持会话吗?

  1. 您可以使用一些只有用户知道的密钥来替代用户名-密码对,并使用此密钥进行身份验证。

  2. 密钥的存在并不意味着保持会话,因为它不一定会在每个会话的基础上更改。

在我的项目中,我验证(登录)用户,从数据库服务器检查他的凭据。

  1. 登录不是身份验证,它通常是使用用户名-密码对完成的对密钥/会话密钥的请求以进行身份​​验证
于 2016-11-16T14:27:07.590 回答