Postman记录

本文档记录了在使用Postman发送JSON格式POST请求时遇到的401未授权错误。问题源于HTTP的基本认证过程,当服务器要求身份验证时,客户端需要提供正确的Authorization头。解决方案可能涉及检查或修改服务器的安全配置,例如在web.xml中注释掉安全约束。此外,还提到了一种方法,即从Chrome浏览器复制Authorization头到Postman中。
摘要由CSDN通过智能技术生成

参考资料

使用记录

发送json格式的post请求

在地址栏里输入请求url:http://127.0.0.1:8081/getmoney
选择“POST”方式,在“headers”添加key:Content-Type , value:application/json

在这里插入图片描述

点击"body",’‘raw’'并设定JSON,点击send

在这里插入图片描述

报错记录

Postman POST请求报错401未授权

在HTTP协议进行通信的过程中,HTTP协议定义了基本认证过程以允许HTTP服务器对WEB浏览器进行用户身份证的方法,当一个客户端向HTTP服务 器进行数据请求时,如果客户端未被认证,则HTTP服务器将通过基本认证过程对客户端的用户名及密码进行验证,以决定用户是否合法。

BASIC认证的过程

  1. 客户端向服务器请求数据,请求的内容可能是一个网页或者是一个其它的MIME类型,此时,假设客户端尚未被验证,则客户端提供如下请求至服务器:

    Get /index.html HTTP/1.0
    Host:www.google.com
    
  2. 服务器向客户端发送验证请求代码401,服务器返回的数据大抵如下:

    HTTP/1.0 401 Unauthorised
    Server: SokEvo/1.0
    WWW-Authenticate: Basic realm="google.com"
    Content-Type: text/html
    Content-Length: xxx
    
  3. 当符合http1.0或1.1规范的客户端(如IE,FIREFOX)收到401返回值时,将自动弹出一个登录窗口,要求用户输入用户名和密码。

  4. 用户输入用户名和密码后,将用户名及密码以BASE64加密方式加密,并将密文放入前一条请求信息中,则客户端发送的第一条请求信息则变成如下内容:

    Get /index.html HTTP/1.0
    Host:www.google.com
    Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxx
    

    注:xxxx…表示加密后的用户名及密码。

  5. 服务器收到上述请求信息后,将Authorization字段后的用户信息取出、解密,将解密后的用户名及密码与用户数据库进行比较验证,如用户名及密码正确,服务器则根据请求,将所请求资源发送给客户端

可能解决方法1

使用Chrome浏览器,在地址栏输入请求地址,在开发者模式中的Network中找到Authorization的内容复制到Postman的Header中

在这里插入图片描述
在这里插入图片描述
更新2021.02.25
在项目中的web.xml注释掉以下内容,就不需要加上Authorization——据说,应该是什么安全配置

 <security-constraint>
     <web-resource-collection>
         <web-resource-name>Secured</web-resource-name>
         <url-pattern>/*</url-pattern>
     </web-resource-collection>

     <auth-constraint>
         <role-name>admin</role-name>
         <role-name>viewer</role-name>
     </auth-constraint>
 </security-constraint>

 <login-config>
     <auth-method>BASIC</auth-method>
      <realm-name>karaf</realm-name>
 </login-config>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值