标签:safeLab kindeditor --- 拦截器 放行 images 权限 RuntimeConstant
springboot使用kindeditor富文本编辑器遇到的问题及解决方案:
问题:
- springboot如何调用kindeditor?
- 集成kindeditor后,前端富文本编辑框无法显示,后端控制台提示:“该请求无权限,重定向到无权限提示页面,url=/kindeditor/themes/default/default.css”
- 由于数据库中通过kindeditor保存的内容中img的路径是/images/.....,而我们将图片存到了/static/admin/images中,导致图片加载不出来
解决方案:
-
<!-- 富文本编辑器,下载好kindeditor后复制粘贴到项目中,然后在需要使用富文本编辑的页面导入所需要的脚本和css库 --> <link rel="stylesheet" href="/sell/kindeditor/themes/default/default.css"/> <script charset="utf-8" src="/sell/kindeditor/kindeditor-all.js"></script> <script charset="utf-8" src="/sell/kindeditor/lang/zh-CN.js"></script> //初始化KindEditor编辑器 <script type="text/javascript"> var editor; KindEditor.ready(function (K) { editor = K.create('textarea[name="content"]', { //是否允许浏览服务器已上传文件,默认是false allowFileManager: true, uploadJson :"/sell/speech/uploadFile" }); }); </script> <!--结合<textarea>标签使用--> <div class="input-group m-b-10"> <span class="input-group-addon">实验环境</span> <textarea style="width: 979px; height: 137px;" id="ambient" name="ambient" type="text" class="form-control" > <#if courseDl.experimentAmbient??> ${courseDl.experimentAmbient!''} </#if> </textarea> </div>
- 无权限是由于后台定义了拦截器,kindeditor相关资源没有放行,做法就是在RuntimeConstant.java类中的权限无需拦截列表中加上
"/admin/kindeditor/**"
这里多说一句,项目使用的权限拦截器拦截原理是:实现了HandlerInterceptor接口,通过将欲访问的url与用户角色具有的权限中的url进行对比,用户不具有权限的URL不会放行;自动放行的URL放在了RuntimeConstant.java中
//无论是放行路径,还是具体拦截方法,都需要通过这个拦截器配置类生效 @Configuration public class WebConfig implements WebMvcConfigurer { @Autowired private LoginInterceptor loginInterceptor; @Autowired private AuthorityInterceptor authorityInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(loginInterceptor).addPathPatterns("/**").excludePathPatterns(RuntimeConstant.loginExcludePathPatterns); registry.addInterceptor(authorityInterceptor).addPathPatterns("/**").excludePathPatterns(RuntimeConstant.authorityExcludePathPatterns); } }
-
由于修改数据库太麻烦,于是决定将图片直接存放在/static/images,但过程遇到了图片依旧无法加载的问题!为什么呢?
仔细一想还是因为权限问题,新的图片路径在拦截器中没有放行! 于是在RuntimeConstant.JAVA中添加了 /images/** 进行权限放行
至此已经完成富文本编辑器的显示功能
标签:safeLab,kindeditor,---,拦截器,放行,images,权限,RuntimeConstant 来源: https://blog.csdn.net/HUGEJOKER/article/details/116396423
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。