Basic认证方式访问url


同学们,今天我们来了解一下Basic认证。Basic认证在访问WebApi时需要验证账号密码,它是最基础的验证之一。通常我们裸奔一个服务的url,如果被别有用心的人拿到了,那么他就能无限调用接口操作数据库/获取数据,后果可以想象。同时认证可以有效保证数据安全。好了,废话不多说,咋们进入正题。

1.时间戳/密文传递验证
2.通过token验证
3.basic认证
……

无论是哪种方式,都是为了保证url的安全性,这个可以根据密级的提高采用不同的方式,同时还有一些其他的身份认证方式,大家有兴趣可以去研究。

在HTTP协议进行通信的过程中,HTTP协议定义了基本认证过程以允许HTTP服务器对WEB浏览器进行用户身份证的方法,当一个客户端向HTTP服务
器进行数据请求时,如果客户端未被认证,则HTTP服务器将通过基本认证过程对客户端的用户名及密码进行验证,以决定用户是否合法。客户端在接收到HTTP服务器的身份认证要求后,雅思考试报名费会提示用户输入用户名及密码,然后将用户名及密码以BASE64加密,加密后的密文将附加于请求信息中,
如当用户名为anjuta,密码为:123456时,客户端将用户名和密码用“:”合并,并将合并后的字符串用BASE64加密为密文,并于每次请求数据
时,将密文附加于请求头(Request
Header)中。HTTP服务器在每次收到请求包后,根据协议取得客户端附加的用户信息(BASE64加密的用户名和密码),解开请求包,对用户名及密码进行验证,

如果用 户名及密码正确,则根据客户端请求,返回客户端所需要的数据;否则,返回错误代码或重新要求客户端提供用户名及密码。

HTTP基本认证的目标是提供简单的用户验证功能,其认证过程简单明了,适合于对安全性要求不高的系统或设备中,如大家所用路由器的配置页面的认证,几乎都采取了这种方式。其缺点是没有灵活可靠的认证策略,如无法提供域(domain或realm)认证功能,另外,BASE64的加密强度非常低,可以说仅能防止sohu的搜索把它搜到了。当然,HTTP基本认证系统也可以与SSL或者Kerberos结合,实现安全性能较高(相对)的认证系统

实际上我用这个方法访问失败了,貌似时Authorization一直不能放到请求头里面,或者说是不能被解析,反正就是一直要我手动输入账号密码,还希望有懂的大神来为我解析一下,感激不尽。

因此才有了下面的java实现方式!

说到这,Basic认证客户端使用方式就说完了。下面来看看服务端的使用!

建议同学们可以把这一段单独抽离出来,可以作为aop的前置增强,每一次执行方法前进行调用。

原文地址:https://www.cnblogs.com/zhaolide/p/9946761.html

时间: 2024-11-05 10:32:17

Basic认证方式访问url的相关文章

http 的get,post方式访问url

public string Post_Http(string url, string postData) { string strResult = ""; try { //将字符串参数 转换成字节数组 便于写入流 byte[] byteData = Encoding.GetEncoding("utf-8").GetBytes(postData); //创建请求实例 HttpWebRequest myRequest = (HttpWebRequest)WebReque

Spring Security应用开发(04)HTTP basic认证

Spring Security默认是使用form-login表单认证方式. <!-- 默认使用表单认证 --> <sec:form-login /> Spring Security还提供了HTTP basic认证的配置的方式,只要在http标签中使用空的http-basic标签即可启用HTTP basic认证方式. <!-- 角色和URL模式的对应关系 --> <sec:http auto-config="true" use-expressio

使用HttpWebRequest方式访问外部接口

第一步,如果不是http网站,则需认证信托证书 /// <summary> /// 认证信托证书 /// </summary> /// <param name="sender"></param> /// <param name="cert"></param> /// <param name="chain"></param> /// <param

angularjs+webapi2 跨域Basic 认证授权(一)

如今的app,利用各种前端框架结合html5的混合开发模式已然盛极一时.其中ionic+angularjs更是如日中天.这种模式利用angularjs $http 请求数据api 以达到前后端分离深得人心.说到webapi 跨域和认证授权始终是不得不提的.这种现成的例子有很多,但我发现的要么是过于复杂,不利于第一次有效理解整个过程:要么就是侧重点比较单一,不好囊括:要么就是其中有些坑没有踩到,换个环境就一头雾水. 所以,我打算以最简单的实现方式最大限度地寻找其中的一些坑和注意点. 1.来看看我们

ios开发使用Basic Auth 认证方式

我们app的开发通常有2种认证方式   一种是Basic Auth,一种是OAuth:现在普遍还是使用OAuth的多,而使用Basic Auth认证的少,正好呢我今天给大家介绍的就是使用的比较少的Badic Auth认证方式,这种认证方式开发和调试简单, 没有复杂的页面跳转逻辑和交互过程,更利于发起方控制.然而缺点就是安全性更低,不过也没事,我们可以使用https安全加密协议,这样才更安全. 我使用的是AFNetworking发送的网络请求,因此我们用Basic Auth认证方式就不能再使用AF

【Http认证方式】——Basic认证

访问请求:http://192.168.2.113:8080/geoserver/rest/workspaces时,浏览器弹出窗口需要输入用户名和密码  ,并且,如果不输入或者输入错误,浏览器返回  可以在火狐浏览器的网络监控这里看到请求的详细信息,  服务器会返回一个401 Unauthozied给客户端,并且在Response 的 header "WWW-Authenticate" 中添加信息. 当我们输入正确的用户名和密码之后,服务器正确返回.可以看到这个时候的请求信息:  这是

基于basic认证机制配置httpd服务器拥有用户访问控制功能

  实验须知:     实验主机:192.168.1.11   1. 配置httpd基于用户的访问控制----basic认证机制   (1)安装httpd程序,并启动服务 #yum install httpd–y [[email protected] ~]# servicehttpd start Starting httpd:httpd: Could not reliably determine the server's fully qualified domain name,using 172

php访问url的四种方式

1.fopen方式 //访问指定URL函数 [php] view plain copy print? function access_url($url) { if ($url=='') return false; $fp = fopen($url, 'r') or exit('Open url faild!'); if($fp){ while(!feof($fp)) { $file.=fgets($fp).""; } fclose($fp); } return $file; } 2.f

http认证方式

在URL前加https://前缀表明是用SSL加密的. 你的电脑与服务器之间收发的信息传输将更加安全. Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定.http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443.http的连接很简单,是无状态的,... HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议要比http协议安全 HTTP认证方式 HTTP请求报头: Authorization HTTP响应报