我是靠谱客的博主 精明铅笔,最近开发中收集的这篇文章主要介绍RESTful Web Service - http身份登录认证的实现和使用(一)RESTful Web Service - http身份登录认证的实现和使用(一),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
RESTful Web Service - http身份登录认证的实现和使用(一)
一、概述:
因为RESTful的无状态特性,导致无法知道当前的请求方是否可靠,所以不得不对每次请求进行验证。但是如何更语义化的将需要验证的信息附加到HTTP里呢?现在比较常见的方式是把验证信息作为参数发送过去,但是这样会违反RESTful的原则。例如,GET /user/1/xx验证信息xx。所以REST 服务的安全,一般依赖于HTTP认证,幸好的是HTTP协议本身定义了2种认证方式,Basic、Digest,另个我看其他论坛里提到了Token也可以,这些都有标准的实现的开源包。REST属于webService一种,他的安全是后台服务的安全。
二、restFull webservice 为什么要用Base和Digest方式,这两种方式又是什么意思?
- 面对用户认证的问题。最常见的实现方式一般是这样的:用户提交一个含有用户名和密码的表单,服务端脚本验证其合法性,如果通过验证,则在Session里标识一下,如此一来,在同一个Session周期里,用户就维持了自己的认证状态。基于Session的认证最大的问题在于它不符合REST风格,更直接一点说,它破坏了HTTP的无状态特性,从而对可扩展性造成障碍。
RFC2617里规定的两种标准的认证方式(Baisc,Digest),和Session方式最根本的不同是,它们是符合HTTP无状态特性的,所以相对而言更值得推荐。
- 什么是HTTP Basic Authentication?直接看http://en.wikipedia.org/wiki/Basic_authentication_scheme吧。在你访问一个需要HTTP Basic Authentication的URL的时候,如果你没有提供用户名和密码,服务器就会返回401,如果你直接在浏览器中打开,浏览器会提示你输入用户名和密码(google浏览器不会)。
- 要在发送请求的时候添加HTTP Basic Authentication认证信息到请求中,有两种方法:一是在请求头中添加Authorization: Authorization: "Basic 用户名和密码的base64加密字符串"。二是在url中添加用户名和密码:
待续。。。。。
最后
以上就是精明铅笔为你收集整理的RESTful Web Service - http身份登录认证的实现和使用(一)RESTful Web Service - http身份登录认证的实现和使用(一)的全部内容,希望文章能够帮你解决RESTful Web Service - http身份登录认证的实现和使用(一)RESTful Web Service - http身份登录认证的实现和使用(一)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复