浅谈Spring Security 对于静态资源的拦截与放行
初始创建Spring Boot项目,使用thymeleaf作为模板引擎,利用Spring Security进行验证管理,根据官方例子试验成功(官方的Spring Security示例)。
然后准备整合页面直接将html甩到templates目录下,静态资源甩到static目录下。
简单的测试页面,发现会报错如下:
Refused to apply style from 'http://localhost:8080/login' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
刚开始以为是模板引擎的语法写错了,后来一理思路,原来直接引入的时候就是好的,那就应该是Spring Security给我把资源拦截了下来。现在要做的就是放行啦。
在WebSecurityConfig配置类中添加如下放行规则:
@Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { // ... @Override public void configure(WebSecurity web) throws Exception { //解决静态资源被拦截的问题 web.ignoring().antMatchers("/css/**","/vendors/**"); } }
至此,资源被正确引入啦。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
解决Spring boot2.0+配置拦截器拦截静态资源的问题
第一次遇到这个问题的时候,简直是一脸蒙逼,写了一个拦截器以后,静态资源就不能访问了,到处查找才知道是版本问题 解决办法: 第一步:定义一个类实现 实现WebMvcConfigurer的类中拦截器中添加放行资源处添加静态资源文件路径: @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(sessionInterceptor).addPathPatterns("/&
-
详解springmvc拦截器拦截静态资源
springmvc拦截器interceptors springmvc拦截器能够对请求的资源路径进行拦截,极大的简化了拦截器的书写.但是,千万千万要注意一点:静态资源的放行. 上代码: <mvc:resources mapping="/resources/**" location="/static/resources" /> <mvc:resources mapping="/static/css/**" location=&quo
-
SpringMVC 拦截器不拦截静态资源的三种处理方式方法
SpringMVC提供<mvc:resources>来设置静态资源,但是增加该设置如果采用通配符的方式增加拦截器的话仍然会被拦截器拦截,可采用如下方案进行解决: 方案一.拦截器中增加针对静态资源不进行过滤(涉及spring-mvc.xml) <mvc:resources location="/" mapping="/**/*.js"/> <mvc:resources location="/" mapping=&quo
-
详解SpringMVC中设置静态资源不被拦截的问题
这两天使用SpringMVC来做登录,注册的小demo,其中用到了springmvc拦截器对登录操作进行拦截处理,并对url进行验证.验证通过则可以进行handler的处理,如果验证不通过直接跳回或者重定向到指定的页面. 但是在做这个操作的时候,遇到很大的一个问题就是项目demo中的静态资源都会在每次请求中被拦截处理了!跳回页面的时候,页面就不再是想想中的呈现的样子了. 以为我在springmvc.xml中已经配置了拦截器和静态资源的配置却还是出现这样的结果,所以就又是看前段浏览器的设置,又是看
-
防止SpringMVC拦截器拦截js等静态资源文件的解决方法
SpringMVC提供<mvc:resources>来设置静态资源,但是增加该设置如果采用通配符的方式增加拦截器的话仍然会被拦截器拦截,可采用如下方案进行解决: 方案一.拦截器中增加针对静态资源不进行过滤(涉及spring-mvc.xml) <mvc:resources location="/" mapping="/**/*.js"/> <mvc:resources location="/" mapping=&quo
-
浅谈Spring Security 对于静态资源的拦截与放行
初始创建Spring Boot项目,使用thymeleaf作为模板引擎,利用Spring Security进行验证管理,根据官方例子试验成功(官方的Spring Security示例). 然后准备整合页面直接将html甩到templates目录下,静态资源甩到static目录下. 简单的测试页面,发现会报错如下: Refused to apply style from 'http://localhost:8080/login' because its MIME type ('text/html'
-
浅谈spring security入门
一 介绍 本节给知识追寻者给大家带来的是springSecurity入门篇,主要是简述下springSecrurity的启动原理和简单的入门搭建: 二 核心模块介绍 spring-security-core : 包含核心身份验证和access-contol类和接口,远程支持和基本配置AP: spring-security-web: web , url登陆验证和访问控制: spring-security-config: 支持xml 或者java注解配置: 当然其模块远不止这些,比如CAS,ALC,
-
解决使用security和静态资源被拦截的问题
目录 使用security和静态资源被拦截 解决方法 Spring Security踩坑记录(静态资源放行异常) 问题描述 解决 1.首先尝试使用网上的方法继承 WebSecurityConfigurerAdapter 2.于是我又重写了方法 protected void configure(HttpSecurity http) 3.最终发现是跨域配置和springsecurity产生了冲突 使用security和静态资源被拦截 之前的博客中我给过如何在springboot中整合security
-
浅谈Spring Security LDAP简介
1.概述 在本快速教程中,我们将学习如何设置Spring Security LDAP. 在我们开始之前,了解一下LDAP是什么? - 它代表轻量级目录访问协议.它是一种开放的,与供应商无关的协议,用于通过网络访问目录服务. 2. Maven Dependency 首先,让我们看看我们需要的maven依赖项: <dependency> <groupId>org.springframework.security</groupId> <artifactId>spr
-
浅谈Spring的两种配置容器
Spring提供了两种容器类型 SpringIOC容器是一个IOC Service Provider.提供了两种容器类型:BeanFactory和ApplicationContext.Spring的IOC容器是一个提供IOC支持的轻量级容器.除了基本的ioc支持,它作为轻量级容器还提供了IOC之外的支持. BeanFactory BeanFactory是基础类型IOC容器.顾名思义,就是生产Bean的工厂.能够提供完整的IOC服务.没有特殊指定的话,其默认采用延迟初始化策略.只有当客户端对象需要
-
浅谈spring中用到的设计模式及应用场景
1.工厂模式,在各种BeanFactory以及ApplicationContext创建中都用到了 2.模版模式,在各种BeanFactory以及ApplicationContext实现中也都用到了 3.代理模式,Spring AOP 利用了 AspectJ AOP实现的! AspectJ AOP 的底层用了动态代理 动态代理有两种 目标方法有接口时候自动选用 JDK 动态代理 目标方法没有接口时候选择 CGLib 动态代理 4.策略模式,加载资源文件的方式,使用了不同的方法,比如:ClassPa
-
浅谈spring boot 1.5.4 异常控制
spring boot 已经做了统一的异常处理,下面看看如何自定义处理异常 1.错误码页面映射 1.1静态页面 必须配置在 resources/static/error文件夹下,以错误码命名 下面是404错误页面内容,当访问一个不存在的链接的时候,定位到此页 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Not F
-
浅谈spring 常用注解
我们不妨先将spring常用的注解按照功能进行分类 1 .将普通类加入容器形成Bean的注解 日常开发中主要使用到的定义Bean的注解包括(XML方式配置bean暂不讨论): @Component.@Repository.@Service.@Controller.@Bean 其中@Component.@Repository.@Service.@Controller实质上属于同一类注解,用法相同,功能相同,区别在于标识组件的类型.当一个组件代表数据访问层(Dao)时,你可以给它加上@Reposit
-
浅谈spring中scope作用域
今天研究了一下scope的作用域.默认是单例模式,即scope="singleton".另外scope还有prototype.request.session.global session作用域.scope="prototype"多例.再配置bean的作用域时,它的头文件形式如下: 如何使用spring的作用域: <bean id="role" class="spring.chapter2.maryGame.Role" s
-
浅谈Spring解决jar包依赖的bom
名词解释: BOM(bill of materials):材料清单,用于解决jar包依赖的好方法. Spring IO Platform 缘起:Spring起初只专注ioc和aop,现在已发展成一个庞大体系.比如security.mvc等.如此一来,不同模块或者与外部进行集成时,依赖处理就需要各自对应版本号.比如,较新spring与较老的quartz,它们集成就会遇到问题,给搭建和升级带来不便.因此Spring IO Platform应运而生,只要项目中引入了它,外部集成时依赖关系无需版本号.官
随机推荐
- js仿小米官网图片轮播特效
- Android使用recyclerview打造真正的下拉刷新上拉加载效果
- Android Splash界面白屏、黑屏问题的解决方法
- 通过JAVAScript实现页面自适应
- javascript 层隐藏和显示的代码
- 浅析Python中将单词首字母大写的capitalize()方法
- Javascript获取当前日期的农历日期代码
- Javascript的闭包详解
- Android Volley框架使用方法详解
- php读取和保存base64编码的图片内容
- php中autoload的用法总结
- Android中双击返回键退出应用实例代码
- Lua协同程序coroutine的简介及优缺点
- 详解linux下避免僵尸进程的几种方法
- 浅析centos 7 自带的 php 5.4升级为 5.6的方法
- JS实现移动端在线签协议功能
- python基础 range的用法解析
- 关于Python正则表达式 findall函数问题详解
- iOS中的线程死锁实例详解
- Python实现删除某列中含有空值的行的示例代码