解决springboot 配置文件未映射静态资源文件 导致shiro拦截静态资源的问题
---------------------------------------------------------------------------------------------------------------------------------
如果您看到了这篇文章并给您带来了误导真的是非常抱歉,修正一下内容,因为此问题的解决方法在初次存在偶然性,不知道是我的机器的问题还是软件的问题,近期再次跑项目的时候发现这种解决办法无法实现 静态资源的放行,最后的解决办法是在配置文件里
去掉静态资源文件的映射,把这些“
#spring.mvc.static-path-pattern=classpath:/static/**
#这是静态资源映射
#spring.resources.static-locations=classpath:/
#spring.resources.static-locations=classpath:/static/
通通干掉
”ShiroFilterFactoryBean 里面的内容不变。--------2020/3/24
---------------------------------------------------------------------------------------------------------------------------------
在springboot当中使用过滤器去做权限的验证是非常蛋疼的事情,而学习使用springsecurity的难度和时间成本相对于shiro来说都要高很多。
Shiro 的配置和使用比较简单,Spring Security 上手复杂些;
Shiro 依赖性低,不需要任何框架和容器,可以独立运行.Spring Security 依赖Spring容器;
shiro 不仅仅可以使用在web中,还支持非web项目它可以工作在任何应用环境中。在集群会话时Shiro最重要的一个好处或许就是它的会话是独立于容器的。
在springboot项目中成功整合shiro之后,会发现一个问题,静态资源好像无法访问了,折腾了快1个小时参考了网上很多资料最终找到了一个解决办法
这是shiro过滤器当中的配置
ShiroFilterFactoryBean bean = new ShiroFilterFactoryBean();
bean.setSecurityManager(manager);
Map<String, String> map = new LinkedHashMap<>();
//拦截的地址,后面的拦截项目,authc登录拦截,perms权限拦截
map.put("/js/**", "anon");
map.put("/user/add","authc");
map.put("/user/update","authc");
map.put("/user/add","perms[user:add]");
map.put("/user/update","perms[user:update]");
bean.setFilterChainDefinitionMap(map);
//如果没有登录的跳转到登录页面
bean.setLoginUrl("/conlogin");
// 如果没有权限跳转到某个页面,这里只是做简单的配置
bean.setUnauthorizedUrl("/unAuthorized");
===================分割线以下是错误的内容请忽略============================
可能大家按照网上的很多参考资料会发现一个问题
我们的静态资源还是无法拿到,这是怎么回事呢?如果你的springboot不是自己独立创建的话可能会有一个问题,创建的人并没有去映射静态资源的路径
我的测试项目中使用的是:application.properties这个配置文件没有使用yml格式的配置文件,按照网上的资料检查的时候发现没有静态文件的映射关系
抱着试一试的态度试了一下 添加 spring.mvc.static-path-pattern=classpath:/static/ 但是发现还是不起作用
server.port=8022
spring.resources.static-locations=classpath:/static/
spring.thymeleaf.suffix=.html
spring.application.name = springboot-mybatis-plus
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
但是添加 spring.resources.static-locations=classpath:/static/ 这个之后问题就解决了。
但是还有一点就是项目的页面的js引入的话需要
<script src="/js/jquery-2.1.4.js"></script>
这里不需要再加上static的路径了。
解决springboot 配置文件未映射静态资源文件 导致shiro拦截静态资源的问题的更多相关文章
- 在IIS上新发布的网站,样式与js资源文件加载不到(资源文件和网页同一个域名下)
在IIS上新发布的网站,网站能打开,但样式与js资源文件加载不到(资源文件和网页是同一个域名下,例如:网页www.xxx.com/index.aspx,图片www.xxx.com/pic.png). ...
- java基础知识3--如何获取资源文件(Java中获取资源文件的url)
java开发中,常见的resource文件有:.xml,.properties,.txt文件等,后台开发中经常用到读取资源文件,处理业务逻辑,然后返回结果. 获取资源文件的方法说明getResourc ...
- iOS开发之静态库(三)—— 图片、界面xib等资源文件封装到.a静态库
编译环境:Macbook Air + OS X 10.9.2 + XCode5.1 + iPhone5s(iOS7.0.3) 一.首先将资源文件打包成bundle 新建工程:File -> Ne ...
- 解决spring-boot配置文件使用加密方式保存敏感数据启动报错No decryption for FailsafeTextEncryptor. Did you configure the keystore correctly
spring-boot配置文件使用加密方式保存敏感数据 application.yml spring: datasource: username: dbuser password: '{cipher} ...
- IDEA不能读取配置文件,springboot配置文件无效、IDEA resources文件夹指定
- SpringBoot配置文件自动映射到属性和实体类(8)
一.配置文件加载 1.Controller中配置并指向文件 @Controller @PropertySource(value = { "application.properties&quo ...
- iOS - Bundle 资源文件包生成和常见资源文件使用
1.Bundle 文件 Bundle 文件,就是资源文件包.我们将许多图片.XIB.文本文件组织在一起,打包成一个 Bundle 文件.方便在其他项目中引用包内的资源. Bundle 文件是静态的,也 ...
- Asp.net全局资源文件( App_GlobalResources)和本地资源文件(App_LocalResources)
今天项目中需要加入对不同语言的支持. 找了半天的资料,关于GlobalResources和LocalResource都说的模棱两可的. 只能自己边找资料边试. 全局资源文件 样例(Demo中有 ...
- 学习使用资源文件[11] - DLL 中的资源文件
本例将把一张 bmp 图片, 以资源文件的方式嵌入 dll, 然后再调用. 第一步: 建一个 DLL 工程, 如图: 然后保存, 我这里使用的名称都是默认的. 第二步: 建一个资源原文件, 如图: ...
随机推荐
- SpringBoot集成<个推推送> Maven 下载jar包异常处理本地打包下载
问题描述 公司需要对用户进行消息推送,选择了个推,由于是Java进行开发,个推操作文档, 这是官网上安装的方式,可是不成功,无论怎么样都无法把Jar包下载下来! MAVEN方式(本人测试Jar无法下载 ...
- 带有附件及图片正文的JavaMail邮件发送
1 package javamail; 2 3 import java.io.UnsupportedEncodingException; 4 import java.util.Properties; ...
- JDBC基础篇(MYSQL)——自定义JDBCUtil工具类
package util; import java.io.File; import java.io.InputStream; import java.sql.Connection; import ja ...
- JAVA中直接用Jdbc就能操作数据库了,为什么还要用spring框架?
不过随着业务的扩展,你就会发现jdbc建立一个连接居然要几百毫秒,而执行一个普通的SQL仅仅需要几毫秒. 这么重量级的资源建立了就释放了不合适,得找个容器存起来,谁要就来取,不用了就还给容器,毕竟容器 ...
- 从新建文件夹开始构建ShadowPlay Engine(5)
本篇序言 从本篇开始,我们要开始构建引擎核心中的系统组件部分,广义上讲其实我们从开始到现在一直都是在构建引擎核心中的系统部分,但严格的定义中系统组件大概有这么几个:内存管理,线程管理,文件管理,时间系 ...
- ES6扩展——对象的扩展(简洁表示法与属性名表达式)
1.简洁表达法. 当属性名与属性值相同时,可省略属性值:例如:{name : name}可以写成 {name} 属性方法中,可省略冒号与function,直接 属性名(){}即可.例如{say : f ...
- Shell脚本逐行读取文本内容并拆分,根据条件筛选文件
时间:2018-11-13 整理:byzqy 需求: 最近帮朋友写了一段脚本,他的需求是根据一份产品清单,去服务器上捞取对应产品编号的测试Log,数量大概有9000~10000条左右.文本内容大致如下 ...
- T-SQL - query01_创建数据库|创建表|添加数据|简单查询
时间:2017-09-29 整理:byzqy 本篇以"梁山好汉花名册"为例,记录MS SQLServer T-SQL语句的使用,包含命令: 创建数据库 | 删除数据库 创建表 | ...
- vue element-ui .el-dialog 限制高度
<style scoped> /deep/ .el-dialog { height: 78vh; overflow: auto; } </style>
- 最长回文子序列---DP
问题描述 给定一个字符串s,找到其中最长的回文子序列.可以假设s的最大长度为1000. 解题思路 1.说明 首先要弄清楚回文子串和回文子序列的区别,如果一个字符串是"bbbab", ...