jeecg 请求url签名

1、开启url签名配置

public class SignAuthConfiguration implements WebMvcConfigurer {
public static String[] urlList = new String[] {"/sys/dict/getDictItems/*", "/sys/dict/loadDict/*",
            "/sys/dict/loadDictOrderByValue/*", "/sys/dict/loadDictItem/*", "/sys/dict/loadTreeData",
            "/sys/api/queryTableDictItemsByCode", "/sys/api/queryFilterTableDictInfo", "/sys/api/queryTableDictByKeys",
            "/sys/api/translateDictFromTable", "/sys/api/translateDictFromTableByKeys","/das.**"};/

2、签名拦截

public class SignAuthInterceptor implements HandlerInterceptor {
 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        log.info("request URI = " + request.getRequestURI());
        HttpServletRequest requestWrapper = new BodyReaderHttpServletRequestWrapper(request);
        //获取全部参数(包括URL和body上的)
        SortedMap<String, String> allParams = HttpUtils.getAllParams(requestWrapper);
        //对参数进行签名验证
        String headerSign = request.getHeader(CommonConstant.X_SIGN);
        String timesTamp = request.getHeader(CommonConstant.X_TIMESTAMP);
        if (oConvertUtils.isEmpty(headerSign)) {
            headerSign = request.getParameter(CommonConstant.X_SIGN);
        }
        if (oConvertUtils.isEmpty(timesTamp)) {
            timesTamp = request.getParameter(CommonConstant.X_TIMESTAMP);
        }
        ```
3、前端添加签名

getUrl(){
let timestamp = signMd5Utils.getDateTimeToString()
let url0 = ${this.url.downloadUrl}
let sign = signMd5Utils.getSign(url0, ‘’);
//将签名和时间戳,添加在请求接口URL
let _url = url0 +/${this.id}&token=+Vue.ls.get(ACCESS_TOKEN)+&X-Sign=+sign+&X-TIMESTAMP=+timestamp

  let picType =[".jpg",".tif",".png"]
  const  hasPic = picType.filter(item => item == "."+this.filetype)
  if(hasPic != ""){
    return `${window._CONFIG['domianURL']}`+_url
  }
  let url =  `${window._CONFIG['domianURL']}/generic/web/viewer.html?file=${window._CONFIG['domianURL']}`+_url
  return url


},
```
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值