解决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 工程, 如图: 然后保存, 我这里使用的名称都是默认的. 第二步: 建一个资源原文件, 如图: ...
随机推荐
- UWP - 介绍App Service 与新功能
App Service 是一种背景工作运行的服务,提供给其他Apps 使用就像Web Service.它本身无使用介面(UI-less),允许Apps 在同一个设备被引用,甚至Windows 10 1 ...
- C#多线程---Mutex类实现线程同步
一.例子 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 ...
- C#设计模式---观察者模式(Observer Pattern)
一.目的 提供一种一对多的关系,当主题发生变化时候,可以通知所有关联的对象. 二.定义 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通 ...
- css - 全屏
css - 全屏 heml和body元素的宽高 html与body都是块元素,但它俩比较特殊,宽高由如下定义: 1.默认的宽度=浏览器可视区域的宽度(不包含滚动条),可设置大于可视区域的宽度,但不会计 ...
- Servlet常见问题
时间:2016-12-6 23:18 java.lang.ClassNotFoundException: org.apache.commons.collections.FastHashMapcommo ...
- Spring Boot +Vue 项目实战笔记(一):使用 CLI 搭建 Vue.js 项目
前言 从这篇文章开始,就进入真正的实践了. 在前端项目开发中,我们可以根据实际情况不同程度地使用 Vue.利用 Vue CLI(或写成 vue-cli,即 Vue 脚手架)搭建出来的项目,是最能体现 ...
- 手撕LRU缓存
面试官:来了,老弟,LRU缓存实现一下? 我:直接LinkedHashMap就好了. 面试官:不要用现有的实现,自己实现一个. 我:..... 面试官:回去等消息吧.... 大家好,我是程序员学长,今 ...
- go语言文件系统
检测文件是否存在 //存在返回 true,不存在返回 false func fileIfExist(filename string) bool { _, err := os.Stat(filename ...
- 查看所有日志命令:journalctl
journalctl命令作用:实时查看所有日志(内核日志和应用日志) 语法格式: journalctl [参数] 常用参数:-k 查看内核日志-b 查看系统本次启动的日志-u 查看指定服务的日志-n ...
- Python - typing 模块 —— Union
前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 ...