当前位置: 首页 > 面试题库 >

REST HTTP身份验证-如何?

汪耀
2023-03-14
问题内容

因此,我正在使用RESTeasy和Google App Engine开发REST
Web服务。我的问题与GAE无关,但我提到它只是为了以防万一。碰巧的是,我自然需要保护自己的资源和我自己的用户(而不是Google的用户)。

REST
Web服务的安全似乎是一个很有争议的主题,或者至少是一个非常“自由的”主题。REST对此没有施加任何标准。根据我在网络和文献上的研究,至少有3种方法适合我的应用程序:

  • HTTP Basic (带有SSL)
  • HTTP摘要 (使用SSL)
  • OAuth

OAuth似乎是最完整的方法。但是我认为不需要这么复杂,因为我不需要授权任何第三方应用程序。这是一个Web服务,仅供我自己的客户端应用程序使用。

HTTP BasicHTTP Digest
在网络上是最简单的,但是事实是,例如,我从未使用RESTeasy找到它们的具体实现。我发现这个网页和这一个
RestEasy的的文档。它们的确非常有趣,但是在该主题上(HTTP Basic或Digest)却几乎不起作用。

所以,我在这里问:

如何在RESTeasy中使用HTTP Basic或Digest保护我的WebService?

也许它是如此简单,以至于在文档或其他任何地方都不值得一提?另外,如果有人可以为我提供有关RESTful Web服务安全的一些见解,那么它可能会有所帮助。

我要选择正确的方法吗?


问题答案:

通过使用RESTeasy的html" target="_blank">拦截器,我设法做到了这一点。基本上,使用类之类的侦听器拦截请求。在此类中,我检查请求的HTTP标头,然后继续进行常规的Basic-
Auth处理。

有用的链接:

http://en.wikipedia.org/wiki/Basic_access_authentication

使用REST API在消息头中传递参数
http://www.alemoi.com/dev/httpaccess/(“Servlet
”部分)

我希望这对任何人都有帮助。

谢谢。



 类似资料:
  • 身份验证 PDF版下载 企业应用中的URL链接可以通过OAuth2.0验证接口来获取员工的身份信息。 通过此接口获取员工身份会有一定的时间开销。对于频繁获取员工身份的场景,建议采用如下方案: 企业应用中的URL链接直接填写企业自己的页面地址; 员工跳转到企业页面时,企业校验是否有代表员工身份的cookie,此cookie由企业生成; 如果没有获取到cookie,重定向到OAuth验证链接,获取员工

  • 问题内容: 我正在尝试在Node.js中使用Socket.IO,并试图允许服务器为每个Socket.IO客户端赋予一个身份。由于套接字代码不在http服务器代码的范围内,因此无法轻松访问已发送的请求信息,因此我假设在连接期间需要将其发送出去。什么是最好的方法 1)将有关谁通过Socket.IO连接到服务器的信息 2)验证他们说的是谁(如果正在使事情变得更容易,我目前正在使用Express) 问题答

  • 我试图使用swift代码在网站上找到这里,但响应是html代码与两个错误:“您必须输入密码!”和“您必须输入用户名!”我是NSURLSession的新手,试图更改用于身份验证的字符串,但无法更改响应。下面是我的代码: 这是控制台响应中的内容:

  • 我正在开发一个具有自己的身份验证和授权机制的REST应用程序。我想使用JSON Web Tokens进行身份验证。以下是有效且安全的实现吗? < li >将开发一个REST API来接受用户名和密码并进行认证。要使用的HTTP方法是POST,因此没有缓存。此外,在传输时还会有安全SSL < li >在认证时,将创建两个JWTs访问令牌和刷新令牌。刷新令牌将具有更长的有效期。这两个令牌都将写入coo

  • 我有麻烦让我的数据库连接到WAMP。我做这件事已经有5年了,所以我有点生疏了。我将我的Mysql升级到8.0时遇到了这个错误 我刷新了我的特权,并将插件更改为本机的根。在这一点上我被难倒了。有人能帮帮我吗? 下面是我的数据库类,直到第37行 /** > class Database*/class Database{ 专用$IP、$username、$password、$database; /**

  • 身份验证是将提供的凭据与本地操作系统或身份验证服务器中授权用户信息的数据库中的凭据进行比较的过程。 如果凭据匹配,则完成该过程并授予用户访问权限。 我们将创建一个非常基本的身份验证系统,它将使用Basic HTTP Authentication 。 这是实施访问控制的最简单方法,因为它不需要cookie,会话或其他任何东西。 要使用它,客户端必须发送Authorization标头以及它所做的每个请