ueditor请求时在headers中增加auth token的验证。

前后端分离的项目,本身用token去校验权限。需要在ueditor请求时,在headers中键入校验的token。

其中涉及到的几个请求:初始化拉取config配置、单图上传、多图上传、拖拽(粘贴)上传、涂鸦上传、媒体上传、附件上传。其他上传接口未测试。

我的测试结论:完全通过配置是不行的!需要改源码。如果哪位小伙伴有其他方法可以共享出来。

首先在配置config,加入:

headers:{'Authorization':Token}

因为有部分模块是可以直接配置设置的。

下面改造源码:

 

ueditor.all.js 文件:

搜索 xhr.addEventListener('load', function (e) { 

在其上面加入:

if (me.options.headers && Object.prototype.toString.apply(me.options.headers) === "[object Object]") {
            for (var key in me.options.headers) {
              xhr.setRequestHeader(key, me.options.headers[key])
            }
          }

这里是为拖拽上传(autoupload)模块 增加配置接口。

 

继续搜索  if (method == "POST") { 

在其上面加入:

xhr.setRequestHeader("Authorization", localStorage.getItem('Token'));

这里取的是存放在localStorage里面的token,给其他一些的ajax请求增加了一个hedader参数,为了解决拉取config的权限。

 

至此,OK。

其他接口未测,有问题欢迎留言讨论。

 

posted @ 2020-07-04 04:30  alpiny  阅读(3802)  评论(0编辑  收藏  举报