Ambari API 验证方式

   文章作者:luxianghao

   文章来源:http://www.cnblogs.com/luxianghao/p/6123010.html  转载请注明,谢谢合作。

   免责声明:文章内容仅代表个人观点,如有不当,欢迎指正。

   --- 

1,client每一个request都需要给server传递证书,相应的,server需要验证一个请求的证书;

这种方式对命令行的client很方便,server也不会保存会话状态信息;

这种我目前已经用过的就是基于nginx ssl来验证client的方式。

2, 另一种方式是利用HTTP session和cookies,server验证证书之后,生成并保存一个session id,

这个id也会被返回给client并保存在client的cookie中,在后续的client和server的通信过程中,client

可以将session id传递给server来验证自己请求的合法性;

有点:由于这种方式不用没一次请求都验证证书,所以它比第一种更有效率,

缺点:a,需要server保存session的状态,这似乎和restful的思想有些相悖;b,安全性没有第一种强

VMware的vCloud REST API 1.0用的是第二种方式,出于安全的考虑在后来的新版本中被舍弃了

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displ
ayKC&externalId=1025884

 

因此,我们可以支持以上两种方式

a,对于命令行,第一种方式更合适一些

b,对于基于浏览器的一些应用,我们没必要频繁的验证证书,第二种方式更合适一些

不管用哪种方式,我们都应改使用HTTPS而不是HTTP,来确保数据传输的安全性。 

posted on 2016-12-01 18:07  luxianghao  阅读(898)  评论(0编辑  收藏  举报

导航