resttemplate 设置请求头_【WEB 系列】RestTemplate 之 Basic Auth 授权

7341186583657c4a97de71a1b986b5a8.png

【WEB 系列】RestTemplate 之 Basic Auth 授权

前面介绍的 RestTemplate 的所有使用姿势都是不需要鉴权的,然而实际情况可不一定都这么友好;Http Basic Auth 属于非常基础的一种鉴权方式了,将用户名和密码以 Base64 编码之后,携带在请求头,从而实现身份校验;

本文将主要介绍 RestTemplate 实现 Basic Auth 鉴权的几种姿势

I. 项目环境

博文测试项目完全基于【WEB 系列】RestTemplate 基础用法小结 的项目环境,建议配合查看

基本环境:IDEA + maven + SpringBoot 2.2.1.RELEASE

1. 鉴权端点

private String getHeaders(HttpServletRequest request) {
     
    Enumeration headerNames = request.getHeaderNames();
    String name;
    JSONObject headers = new JSONObject();while (headerNames.hasMoreElements()) {
        name = headerNames.nextElement();
        headers.put(name, request.getHeader(name));
    }return headers.toJSONString();
}private String getParams(HttpServletRequest request) { return JSONObject.toJSONString(request.getParameterMap());
}private String getCookies(HttpServletRequest request) {
    Cookie[] cookies = request.getCookies();if (cookies == null || cookies.length == 0) { return "";
    }
    JSONObject ck = new JSONObject();for (Cookie cookie : cookies) {
        ck.put(cookie.getName(), cookie.getValue());
    }return ck.toJSONString();
}private String buildResult(HttpServletRequest request) { return buildResult(request, null);
}private String buildResult(HttpServletRequest request, Object obj) {
    String params = getParams(request);
    String headers = getHeaders(request);
    String cookies = getCookies(request);if (obj != null) {
        params += " | " + obj;
    }return "params: " + param
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值