---------------------------------------------------------------------------------------------------------------------------------

如果您看到了这篇文章并给您带来了误导真的是非常抱歉,修正一下内容,因为此问题的解决方法在初次存在偶然性,不知道是我的机器的问题还是软件的问题,近期再次跑项目的时候发现这种解决办法无法实现 静态资源的放行,最后的解决办法是在配置文件里

去掉静态资源文件的映射,把这些“

#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拦截静态资源的问题的更多相关文章

  1. 在IIS上新发布的网站,样式与js资源文件加载不到(资源文件和网页同一个域名下)

    在IIS上新发布的网站,网站能打开,但样式与js资源文件加载不到(资源文件和网页是同一个域名下,例如:网页www.xxx.com/index.aspx,图片www.xxx.com/pic.png). ...

  2. java基础知识3--如何获取资源文件(Java中获取资源文件的url)

    java开发中,常见的resource文件有:.xml,.properties,.txt文件等,后台开发中经常用到读取资源文件,处理业务逻辑,然后返回结果. 获取资源文件的方法说明getResourc ...

  3. iOS开发之静态库(三)—— 图片、界面xib等资源文件封装到.a静态库

    编译环境:Macbook Air + OS X 10.9.2 + XCode5.1 + iPhone5s(iOS7.0.3) 一.首先将资源文件打包成bundle 新建工程:File -> Ne ...

  4. 解决spring-boot配置文件使用加密方式保存敏感数据启动报错No decryption for FailsafeTextEncryptor. Did you configure the keystore correctly

    spring-boot配置文件使用加密方式保存敏感数据 application.yml spring: datasource: username: dbuser password: '{cipher} ...

  5. IDEA不能读取配置文件,springboot配置文件无效、IDEA resources文件夹指定

  6. SpringBoot配置文件自动映射到属性和实体类(8)

    一.配置文件加载 1.Controller中配置并指向文件 @Controller @PropertySource(value = { "application.properties&quo ...

  7. iOS - Bundle 资源文件包生成和常见资源文件使用

    1.Bundle 文件 Bundle 文件,就是资源文件包.我们将许多图片.XIB.文本文件组织在一起,打包成一个 Bundle 文件.方便在其他项目中引用包内的资源. Bundle 文件是静态的,也 ...

  8. Asp.net全局资源文件( App_GlobalResources)和本地资源文件(App_LocalResources)

    今天项目中需要加入对不同语言的支持. 找了半天的资料,关于GlobalResources和LocalResource都说的模棱两可的. 只能自己边找资料边试.     全局资源文件 样例(Demo中有 ...

  9. 学习使用资源文件[11] - DLL 中的资源文件

      本例将把一张 bmp 图片, 以资源文件的方式嵌入 dll, 然后再调用. 第一步: 建一个 DLL 工程, 如图: 然后保存, 我这里使用的名称都是默认的. 第二步: 建一个资源原文件, 如图: ...

随机推荐

  1. WPF以鼠标当前位置进行缩放

    <Window x:Class="ImageViewer.MainWindow" xmlns="http://schemas.microsoft.com/winfx ...

  2. .net core api 对于FromBody的参数验证

    前言 在framework的mvc中,经常会使用 Model.State . ModelState.IsValid 配合着特性进行参数验证,通过这种方式可以降低controller的复杂度,使用方便. ...

  3. 网络操作系统VyOS之NAT实践

    本文基于 网络操作系统VyOS应用实践(四) 修改,完善了实验细节及1-to-1 NAT部分. NAT NAT即网络地址转换,最常见的就是各种虚拟机工具的NAT模式,让虚拟机以宿主的网络地址与外网通讯 ...

  4. Mysql时间戳转Java时间戳

    MySQL 时间戳和Java返回的时间戳是不一样的 例如: 当前时间是 2014-08-04 10:42:55.204000 使用mysql时间戳函数UNIX_TIMESTAMP 返回的结果为: 14 ...

  5. for循环练习之打印三角形

    public class TestDemo01 { /** * 打印三角形 * 1.打印空格 * 2.打印三角形 */ public static void main(String[] args) { ...

  6. awk 命令-随笔

    awk语法: awk [option] 'pattern{action}' file ... awk [参数] '条件{动作}' 文件 ... 解析: 命令: awk 参数: -F "&qu ...

  7. Python - typing 模块 —— Optional

    前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 ...

  8. API:获取当前用户的公网IP

    在vue项目根目录下" public " 文件夹中的index.html,也就是根节点所在的文件引入JS,vue项目中静态文件需要在这里引入,用 script 标签规避跨域 < ...

  9. oh,我的老伙计,你看看这近五十个dapr视频

    oh,我的老伙计,你看看这近五十个 dapr 视频.这不就是你想要的视频资料吗?快来捡走吧! 开始了,但是没完全开始 Dapr 是一个可移植的.事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的. ...

  10. RSA及其证明 [原创]

    描述RSA的实现步骤介绍文章非常多,但说明并证明其原理,并进而讨论为什么这样设计的文章不多.本人才疏学浅,不敢说理解了R.S.A.三位泰斗的设计初衷,简单就自己的理解写一写,博大家一笑. 以下原创内容 ...