标签: restful-authentication

RESTful身份验证 - 在高负载下导致性能不佳?

对于RESTful Web服务,我们说服务器不应该存储任何状态.现在,对于每个请求,"用户"必须经过身份验证,并且必须拥有他/她希望执行的操作的授权.

现在,每个请求都将包含该用户的授权数据.这是我的困惑:

假设主页上有登录名和密码字段.用户输入用户名/密码,该用户名/密码被发送回服务器,用户验证然后返回"某个令牌".现在,每个请求都会将此令牌发送到服务器.问题(S):

  • 后端数据库是否需要有一个单独的表来存储由用户名索引的这些令牌?
  • 假设令牌存储在DB中,则每个请求都需要进行DB调用.这是否会导致DB服务器在高负载时成为瓶颈?
  • 如果令牌没有真正存储在DB中,那么存储它的最佳"安静"位置是什么?
  • 会议可能不安宁,但后来我没有看到如何扩展身份验证/授权(如上所述)?
  • 如果它不是令牌,那么用户名/密码是否需要回传?(听起来像个坏主意:)

我可能误解了RESTful身份验证/授权的概念.但实际情况是,对于每个http请求,"服务"需要访问数据库以验证凭据吗?有没有什么东西可以简化这个过程,仍然坚持宁静的原则?我可以想到有一个存储细节的缓存,并且在服务器重启的情况下,它只是访问数据库.这只是一个可能使系统复杂化的性能优势(可能值得,不知道).这是唯一的解决方案吗?

因此,从REST的理论/概念角度(不是必要的实现)如何处理这个问题(如果它是一个问题)?您的专业经验如何处理这个问题以及Restful是如何处理的?

我们正在研究Restlet + J2EE + MySQL Restful Web服务,我弹出这个问题,但没有令人满意的答案(谷歌,Stackoverflow等)我知道HTTP的基本和摘要授权,但我不熟悉根据上述说明,存储/检索的内部结构.

java performance web-services restful-authentication restlet

15
推荐指数
1
解决办法
3810
查看次数

如何防止对RESTful数据服务的暴力攻击

我即将在我们的网站上实现RESTful API(基于WCF数据服务,但这可能无关紧要).

通过此API提供的所有数据都属于我的服务器的某些用户,因此我需要确保只有这些用户才能访问我的资源.因此,所有请求都必须使用登录/密码组合作为请求的一部分执行.

在这种情况下,推荐的防止暴力攻击的方法是什么?

我正在考虑记录因错误凭据而被拒绝的失败请求,并在超过某个失败请求阈值后忽略来自同一IP的请求.这是标准方法,还是我缺少一些重要的东西?

authentication api rest restful-authentication

14
推荐指数
2
解决办法
6838
查看次数

如何在REST Web服务中对用户进行身份验证?

如何在REST Web服务中编写用户身份验证方法?我是Web服务的初学者.

methods rest restful-authentication

14
推荐指数
1
解决办法
2万
查看次数

在restful Web服务中访问HttpServletRequest对象

我可以在soap Web服务中访问HttpServlet Request对象,如下所示:在服务实现中为WebServiceContext声明一个私有字段,并将其注释为资源:

@Resource
private WebServiceContext context;
Run Code Online (Sandbox Code Playgroud)

要获取HttpServletRequet对象,我编写如下代码:

MessageContext ctx = context.getMessageContext();
HttpServletRequest request =(HttpServletRequest)ctx.get(AbstractHTTPDestination.HTTP_REQUEST);
Run Code Online (Sandbox Code Playgroud)

但这些东西并不适用于宁静的Web服务.我正在使用Apache CXF开发restful web服务.请告诉我如何才能访问HttpServletRequest对象.

java rest web-services cxf restful-authentication

14
推荐指数
1
解决办法
4万
查看次数

如何在单页应用程序和服务器之间保护REST api?

我有2台服务器,一台负责前端应用程序和用户身份验证.此服务器呈现以javascript编码的单个页面应用程序.这个javascript应用程序通过第二台服务器上托管的REST api从第二台服务器渲染数据.

我想保护第二台服务器.我想只有前端应用程序能够调用后端服务器.

目前,任何人都可以从浏览器调用其余的api来查询数据.

谢谢你的帮助.

security api rest restful-authentication restful-architecture

14
推荐指数
1
解决办法
6936
查看次数

rails 3中的api身份验证

目前我有一个rails 3应用程序,它使用devise插件进行网站身份验证.但现在我将添加一个iPhone应用程序,所以我将向客户端设备(iPhone)公开api调用.我如何实现auth模块,以便iPhone客户端可以对rails网站进行身份验证并访问某些API?

我应该创建oauth提供程序,令牌库auth还是简单的http auth?

ruby authentication api restful-authentication ruby-on-rails-3

13
推荐指数
1
解决办法
2116
查看次数

Rails和iOS应用,身份验证问题

我想在Rails 3和iOS应用程序中构建Web服务以使用此服务.我需要简单的事情.用户第一次打开iOS应用程序时,获取登录界面.登录后,iOS应用程序可以发送和获取请求.

我已经在Rails上使用Devise进行身份验证,并发现RESTKit for iOS可以映射对象并使用RESTfull Web服务,我没有找到任何关于确认协同工作的内容.

我的问题是,iOS和RoR 双方使用的最佳解决方案什么才能使其工作

ruby-on-rails restful-authentication devise ios restkit

13
推荐指数
1
解决办法
5083
查看次数

使用flask-security扩展的基于令牌的身份验证

我目前正在寻找一种使用基于令牌的身份验证来保护REST API的方法.我正在使用Flask在Python中开发API,并发现了flask-security扩展,它似乎有很多有趣的功能.

令牌中提到的功能之一是令牌认证.

根据文件:

通过执行HTTP POST检索用户身份验证令牌来启用基于令牌的身份验证,其中身份验证详细信息为针对身份验证端点的JSON数据.成功调用此端点将返回用户的ID及其身份验证令牌.此令牌可用于对受保护资源的后续请求.

但是,我仍然对如何使用flask-security实现此功能感到困惑.一些在线研究让我使用了诸如@auth_token_required之类的东西,但我把所有东西放在一起都有些麻烦.烧瓶安全文档本身并不是很有帮助.

例如,用户如何获得身份验证令牌?什么是身份验证端点?

如果你能引导我朝着正确的方向前进,那就太棒了.代码示例也很棒:-)

restful-authentication flask python-3.x flask-security

13
推荐指数
3
解决办法
7473
查看次数

为restify.js实现基于令牌的身份验证的最佳方法是什么?

我正在尝试使用restify.js构建RESTful api,但我不想向所有人公开api.我将使用基于令牌的身份验证.我心中的过程是这样的,我不确定它是否合理.

  1. 用户向api发送用户名/密码以获取令牌.

  2. 这个令牌应该包含在每个其他api的调用请求中.

如果这是合理的,我可以使用任何node.js库吗?

另外,我该如何保护令牌?如果有人用令牌拦截了http请求,那么该人将获得api url和令牌.然后他可以按照自己的意愿发送请求.有办法避免这种情况吗?

非常感谢!

authentication restful-authentication node.js restify

12
推荐指数
1
解决办法
8238
查看次数

在Spring中向RestTemplate的postForObject()方法添加标头

我使用以下方法调用Web服务.

ResponseBean responseBean = getRestTemplate()
    .postForObject(url, customerBean, ResponseBean.class);
Run Code Online (Sandbox Code Playgroud)

现在我的要求发生了变化.我想发送带有请求的2个标头.我该怎么办?

Customer bean是一个类,其中包含将用作请求主体的所有数据.

在这种情况下如何添加标题?

rest spring web-services restful-authentication

12
推荐指数
2
解决办法
3万
查看次数