解决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 工程, 如图: 然后保存, 我这里使用的名称都是默认的. 第二步: 建一个资源原文件, 如图: ...
随机推荐
- vs2019 实现C#调用c++的dll两种方法
1.托管与非托管的区别 2.非托管类的实现 第一步:创建C++空项目(命名Caculate)添加一个类AddOperate 第二步:将C++代码编译成动态库dll 第三步:将dll拷贝到c#项目输入目 ...
- 【转】新说Mysql事务隔离级别
作者:孤独烟 转自:https://www.cnblogs.com/rjzheng/p/9955395.html 引言 大家在面试中一定碰到过 说说事务的隔离级别吧? 老实说,事务隔离级别这个问题,无 ...
- C# Fakes
我们为了测试程序的运行逻辑,需要写单元测试来验证程序的逻辑.有的时候我们的逻辑需要依赖于外界的事物(需要一个文件,eg:数据库),我们不可能在运行单元测试的计算机都创建一个数据库,所以这个时候我们就需 ...
- Ant的使用(一)
<?xml version="1.0" encoding="UTF-8"?> <project name="projectName& ...
- Spring第一课:基于XML装配bean(四),三种实例化方式:默认构造、静态工厂、实例工厂
Spring中基于XML中的装配bean有三种方式: 1.默认构造 2.静态工厂 3.实例工厂 1.默认构造 在我们在Spring的xml文件中直接通过: <bean id=" ...
- 关于mysql的备份和恢复
备份:在登录之前(cmd中)mysqldump -u root -p [数据库名称] > c:/back.sql备份的话,肯定是DBA才能做,所以只能用root:恢复mysql -u root ...
- Tomcat 端口配置及原理详解
1. tomcat 文件配置详细说明 tomcat服务器需配置三个端口才能启动,安装时默认启用了这三个端口,当要运行多个tomcat服务时需要修改这三个端口,不能相同.端口配置路径为tomcat\ c ...
- Redis详解(二)——
https://www.cnblogs.com/yeya/p/14274948.html https://www.cnblogs.com/liang24/tag/redis/
- 利用job提升马哈鱼数据血缘分析效率
利用job提升马哈鱼数据血缘分析效率 一.Job基本知识 前面文章中已介绍马哈鱼的基本功能,其中一个是job,job其实是一个任务集合处理的概念,就是让用户通过job,可以一次递交所有需要处理的 SQ ...
- windows操作系统和java常识
一.java5和java8版本更新很大,现在都是java8; 二.数据存储最小单位Byte字节八个比特位: 三.没有图形操作界面的windows系统: 四.java语言跨平台性:JVM充当不同操作系统 ...