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。
其他接口未测,有问题欢迎留言讨论。