RESTful Web Service 的安全(token 认证方式)以及性能

本文探讨了RESTful Web Service的安全性和性能,重点关注了token认证方式,包括URI中携带token和HTTP基本认证,并讨论了HTTP基本认证的安全隐患及其解决方案。此外,还提到了OAuth认证在第三方访问用户数据时的优势。在性能方面,指出RESTful服务的性能主要取决于web框架,而高可用性通常通过硬件冗余来实现。最后,以Flickr REST API为例,说明如何访问RESTful服务并申请API Key。
摘要由CSDN通过智能技术生成

可扩展性(scalability)和可用性(availability)

 custom token authentication

使用一个独一无二的标志,来标示每一次的数据请求。

这个标志有两种用法:1.它可以作为URI的 2.它可以加入到HTTP的请求头中。

@Path("/users/token={token}")
public class UsersResource {
@GET
@Produces("application/xml")
public String getXML(@PathParam("token") String token) {
    if (AuthenticationService.authenticate(token)) {
        return UserBO.getAllXML();
    } else {
        throw new WebApplicationException(401);
    }
  }
}

先检验URI中的标志——Token,如果token变量未通过验证,返回401错误,即未授权。

 

HTTP basic authentication

RESTful <wbr>Web <wbr>Service <wbr>的安全以及性能
即在HTTP请求头中加入一个Authorization: Basic QWxhZGRpbjpvcGVulHNIc2FtZQ==域,就相当于一个证书。对于浏览器而言,会把证书放入缓存中,这样就不必每次都要输入用户名和密码。但这样会导致越权访问,此时由于存在缓存,所以Web Service很难区分请求是否授权。

 

而且用户名和密码是用Base64 encoding编码的,这个很容易破解,解决这个问题,我们可以用HTTPS(SSL)协议代替HTTP协议。

如果用浏览器访问但没有加入对应的证书,浏览器会出现一个对话框,要求你输入用户名和密码,当用户输入完后,浏览器会再次发送求情。浏览器对401错误会自动处理。

如果使用其他的客户端,则会收到一个401错误。

 

也可以在刚开始的时候就设置好HTTP请求头,这样就不用每次都输入证书了。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值