authorization
今天部署了一个authorization项目,由于改了auth服务器客户端id和密码,而前端请求header没有修改,登录时一直弹框要求输入用户名和密码,输入后却无效,只好改前端代码。改完只好就可以了。以下是参考文章。
POST /goform/ser2netconfigAT HTTP/1.1
Host: 192.168.16.254
Connection: keep-alive
Authorization: Basic YWRtaW46YWRtaW4= //笔者注释,Authorization: "Basic 用户名和密码的base64加密字符串" 在线编解码工具
content-Length: 23
uart=9600,8,n,1&save=1
用中文简述一下http auth的过程:
客户端发送http请求
服务器发现配置了http auth,于是检查request里面有没有"Authorization"的http header
如果有,则判断Authorization里面的内容是否在用户列表里面,Authorization header的典型数据为"Authorization: Basic jdhaHY0=",其中Basic表示基础认证, jdhaHY0=是base64编码的"user:passwd"字符串。如果没有,或者用户密码不对,则返回http code 401页面给客户端。
标准的http浏览器在收到401页面之后,应该弹出一个对话框让用户输入帐号密码;并在用户点确认的时候再次发出请求,这次请求里面将带上Authorization header
一次典型的访问场景是:
浏览器发送http请求(没有Authorization header)
服务器端返回401页面
浏览器弹出认证对话框
用户输入帐号密码,并点确认
浏览器再次发出http请求(带着Authorization header)
服务器端认证通过,并返回页面
浏览器显示页面
使用http auth的场景不会用cookie,也就是说每次都会送帐号密码信息过去。然后我们都知道base64编码基本上等于明文。这削弱了安全。
由于种种缺点,http auth现在用的并不多。不过在路由器等场合还是有应用的,原因是http auth最简单,使用起来几乎是零成本。
在你需要做访问控制,又不想拖上SSO、数据库之类的东西的时候,http auth不失为一个简洁的选项。
http://blog.csdn.net/libaineu2004/article/details/38384487
---------------------
作者:自由乐
来源:CSDN
原文:https://blog.csdn.net/luckyzsion/article/details/80216861
相关阅读
作为一名 Java Web 应用开发者,你已经快速学习了 request(HttpServletRequest)和 session(HttpSession)作用域。在设计和构建 Java Web
双鱼kiki淘宝店铺网址http://sykiki.taobao.com
星店介绍: 双鱼kiki,美女主播,时尚红人,《我是大美人》节目美白达人、《《美丽俏佳人》节目美丽鉴定员。现创立自己独家天然美肤品品
网站在进行文件上传的时候出现了上传文件失败,查看上传时的请求连接,发现上传的url报出了413的错误码。413的错误码是表示:请求实体
Java web项目报错:HTTP Status 404 – Not Found Type
在用intelijIDEA的时候,因为是第一次接触这个,对项目的发布很是迷糊。怎么弄老是404错误: HTTP Status 404 – Not Found Type Stat
中国铁路客户服务中心---http://www.12306.cn
中国铁路客户服务中心---http://www.12306.cn