【问题标题】:Protect RESTful webservice URL [duplicate]保护 RESTful Web 服务 URL [重复]
【发布时间】:2017-01-19 01:01:32
【问题描述】:

如何保护 REST 网址?

例如,我有一个像 https://localhost/8080/user 这样的 GET URL。它将给出一个用户列表。如果有人在访问这些信息,我该如何保护它?

【问题讨论】:

  • 您可以使用任何可用于 HTTP 的身份验证机制(以及更多来自 HTTPS 的身份验证机制)。非常常见的是您使用 Authorization 标头传递的“访问令牌”。
  • 如果我使用 Angular js 通过调用 url 使我的视图成为一部分,这种安全机制是否适用?

标签: java


【解决方案1】:

从服务器的角度来看,回答一个安静的服务请求和回答一个页面请求没有区别。

因此,您可以使用完全相同的机制。

无论以何种方式请求其余服务,这都是有效的:来自应用程序、来自 Angular 等

具体例子

最常见的是使用带有密码身份验证的登录,它为用户提供一个 cookie,该 cookie 在稍后发出请求时与请求一起发送。

为了做到这一点,您可以拥有一个 RESTful API 端点,例如“login”,它将通过指定用户名和密码来调用。

它可能看起来像这样:

https://yoursite.com/api/login?user=xxx&pwd=xxx

然后您的服务器将检查用户名和密码是否正确,如果正确,则简单地回答几乎空的消息,但包含以下标题:

Set-Cookie: session=yyyyyyyyyy

稍后,您的用户可以正常查询您的restful服务,cookie会自动添加到他们的请求中。您的服务器将能够检查会话 ID 是否有效,如果不拒绝资源。

【讨论】:

  • 感谢 vic 和 thilo 。这对我来说很有意义
猜你喜欢
  • 2014-09-13
  • 2011-06-16
  • 1970-01-01
  • 2011-02-05
  • 2013-12-29
  • 1970-01-01
  • 2015-07-08
  • 2012-01-17
  • 1970-01-01
相关资源
最近更新 更多