首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

开启spring安全后,静态资源不再可用

开启Spring Security后,静态资源不再可用的原因是Spring Security默认会对所有的URL进行安全验证,包括静态资源的URL。为了解决这个问题,可以通过配置Spring Security来允许静态资源的访问。

在Spring Security中,可以通过以下几种方式来解决静态资源不可用的问题:

  1. 忽略静态资源:可以通过在Spring Security的配置类中使用WebSecurityignoring()方法来忽略静态资源的访问。例如,可以添加以下配置来忽略所有静态资源:
代码语言:java
复制
@Override
public void configure(WebSecurity web) throws Exception {
    web.ignoring().antMatchers("/css/**", "/js/**", "/images/**");
}

上述配置中,/css/**/js/**/images/**是静态资源的URL模式,可以根据实际情况进行修改。

  1. 自定义静态资源路径:可以通过修改Spring Security的配置,将静态资源的路径修改为不受安全验证的路径。例如,可以添加以下配置来将静态资源的路径修改为/public/**
代码语言:java
复制
@Override
protected void configure(HttpSecurity http) throws Exception {
    http
        .authorizeRequests()
            .antMatchers("/public/**").permitAll()
            .anyRequest().authenticated()
            .and()
        .formLogin()
            .and()
        .httpBasic();
}

上述配置中,/public/**是静态资源的URL模式,可以根据实际情况进行修改。

  1. 自定义静态资源目录:可以通过修改Spring Boot的配置,将静态资源的目录修改为不受安全验证的目录。例如,可以添加以下配置来将静态资源的目录修改为/public/
代码语言:properties
复制
spring.resources.static-locations=classpath:/public/

上述配置中,classpath:/public/是静态资源的目录,可以根据实际情况进行修改。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

面试JAVA常被问到的问题(持续更新中)

Session的生命周期在访问JSP,Servlet等动态资源的时候创建,访问HTML,CSS等静态资源不会创建,除非强行创建;在关闭浏览器或当前窗口消失;服务器会定期清理掉不再活跃的Session,以...在方法区中,存储了每个类的信息、静态变量、常量以及编译器编译的代码等。...缺点:反射会消耗一定的系统资源,因此,如果不需要动态地创建一个对象,那么就不需要用反射; 反射调用方法时可以忽略权限检查,因此可能会破坏封装性而导致安全问题。 47,动态代理和静态代理的区别?...4,springmvc是基于spring的,安全性上比struts要高。 57,spring 常用的注入方式有哪些?...满足死锁的四大条件,分别有: 互斥条件:进程对所分配到的资源不允许其他进程进行访问,若其他进程访问该资源,只能等待,直至占有该资源的进程使用完成释放该资源 请求和保持条件:进程获得一定的资源之后,

62110

SpringBoot系列

该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。...2、对静态资源的支持,包括对WebJars的支持。 3、自动注册Converter,GenericConverter,Formatter beans。...大多数时候,这不会发生(除非你修改默认的MVC配置),因为Spring总能够通过DispatcherServlet处理请求。 此外,上述标准的静态资源位置有个例外情况是Webjars内容。...尽管该文件夹是一个共同的标准,但它仅在打包成war的情况下起作用,并且如果产生一个jar,多数构建工具都会忽略它 默认资源映射 Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration...建议大家使用Spring Boot的默认配置方式,提供的静态资源映射如下: classpath:/META-INF/resources classpath:/resources classpath:/static

94311
  • Spring Cloud Alibaba面试题

    我们将修复 block 级别的 bug 以及安全问题,我们也会考虑并审查社区的小型 pull request。 2、什么是Spring Cloud Alibaba?...分布式任务调度:提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。同时提供分布式的任务执行模型,如网格任务。...服务和元数据管理Nacos 能让您从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略。...由于Disconf不再维护,下面主要对比一下Spring Cloud Config、Apollo和Nacos。...当与A关联的资源B达到阈值,就限流A 链路:链路流控模式指的是,当从某个接口过来的资源达到限流条件时,开启限流;它的功能有点类似于针对 来源配置项,区别在于:针对来源是针对上级微服务,而链路流控是针对上级接口

    67620

    熔断器Hystrix

    单个服务发生故障,占用过多的系统资源,从而导致级联故障的情况称为服务雪崩。 什么是Hystrix? 在分布式环境中,许多服务依赖项中的一些必然会失败。...降级的处理方案有:默认值(比如库存服务挂了,返回默认现货)、兜底数据(比如广告挂了,返回提前准备好的一些静态页面)、缓存(之前暂存的一些缓存数据) 限流降级 当我们去秒杀或者抢购一些限购商品时,此时可能会因为访问量太大而导致系统崩溃...@HystrixCommand注解 默认开启线程池隔离,服务熔断,服务降级 接着上次的工程做些修改:【和feign结合使用】 https://github.com/HCJ-shadow/Feign 新建工程...调用降级方法,重复几次之后,将不再访问5001。【Ribbon的RetryRule策略】 假设重启服务, ? 即可正常访问。...小结: 为了保持高可用,应用可以配置多份,这样即使故障一台,对外仍旧可以保持可用性。但是随之而来的是数据库的一致性问题。CAP理论的A与C只能选择一个也是这个原理。

    63150

    Spring Framework多个安全漏洞预警

    安全漏洞公告 2018年4月5日,Pivotal发布了Spring Framework存在多个安全漏洞的公告: (1)spring-messaging模块远程代码执行漏洞 对应CVE编号:CVE-2018...*版本以及不再支持的旧版本,通过spring-messaging和spring-websocket模块提供的基于WebSocket的STOMP,存在被攻击者建立WebSocket连接并发送恶意攻击代码的可能...*版本以及不再支持的旧版本,Spring MVC允许应用程序对其配置提供静态资源,在Windows系统上实现该功能时,攻击者通过请求构造的特定资源URL,可能导致目录遍历的效果产生,建议尽快更新到新的版本...4.2 威胁推演 此次漏洞包含有远程代码执行漏洞,基于全球使用该产品用户的数量,恶意攻击者可能会开发针对该漏洞的自动化攻击程序,实现漏洞利用成功植入后门程序,并进一步释放矿工程序或是DDOS僵尸木马等恶意程序...安全开发生命周期(SDL)建议:Spring组件历史上已经报过多个安全漏洞,建议使用该产品的企业经常关注官方安全更新公告,建议使用Spring Security对功能模块的调用实现中启用身份验证和访问授权

    2.2K40

    Spring Boot入门

    该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。...如上页面,直接打开html页面展现Hello World,但是启动程序,访问http://localhost:8080/,则是展示Controller中host的值:从很小就坏,做到了不破坏HTML自身内容的数据逻辑分离...Thymeleaf模板 Thymeleaf是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web环境中的应用开发。...Thymeleaf的主要目标在于提供一种可被浏览器正确显示的、格式良好的模板创建方式,因此也可以用作静态建模。你可以使用它创建经过验证的XML与HTML模板。...通过@EnableWebSecurity注解开启Spring Security的功能 继承WebSecurityConfigurerAdapter,并重写它的方法来设置一些web安全的细节 configure

    97390

    Spring Boot搭建Web应用

    该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。...如上页面,直接打开html页面展现Hello World,但是启动程序,访问http://localhost:8080/,则是展示Controller中host的值:从很小就坏,做到了不破坏HTML自身内容的数据逻辑分离...Thymeleaf模板 Thymeleaf是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web环境中的应用开发。...Thymeleaf的主要目标在于提供一种可被浏览器正确显示的、格式良好的模板创建方式,因此也可以用作静态建模。你可以使用它创建经过验证的XML与HTML模板。...通过@EnableWebSecurity注解开启Spring Security的功能 继承WebSecurityConfigurerAdapter,并重写它的方法来设置一些web安全的细节 configure

    1.3K60

    spring boot + mybatis + layui + shiro搭建后台权限管理系统

    boot + mybatis的整合,参考博客: https://blog.51cto.com/wyait/1969626 spring boot之静态资源路径配置 静态资源路径是指系统可以直接访问的路径...=/ 表示所有的访问都经过静态资源路径; spring.resources.static-locations 在这里配置静态资源路径,前面说了这里的配置是覆盖默认配置,所以需要将默认的也加上否则static...添加一层或多层目录之后,springboot会在静态资源配置中依次找到匹配的目录,然后加载静态资源; 自定义静态资源配置方法 自定义静态资源配置方法,参考博客:https://blog.51cto.com.../wyait/1971108 博客末尾处,提供了自定义静态资源访问方法,通过配置类设置对应的路径进行静态资源访问。...;spring boot在不更换域名的前提下,默认是根据application.xml文件的静态资源路径配置查找图片等静态资源;nginx配置是无效的,会导致图片无法获取(读取404)。

    4.3K20

    Spring Native 项目,把 Spring 项目编译成原生程序!

    Native 的 Hello World 系统要求 示例代码 配置 Spring Boot 版本 添加 Spring Native 依赖 添加 Spring AOT 插件 开启 native image...的 beta 版本,该功能已经在 start.spring.io 上可用了。...优点 编译出来的原生 Spring 应用可以作为一个独立的可执行文件进行部署(不需要安装 JVM) 几乎瞬时的启动(一般小于 100 毫秒) 瞬时的峰值性能 更低的资源消耗 缺点 比 JVM 更长的构建时间...这样动态加载、反射(通过反射可以调用在编译期不可知的方法)、动态代理、字节码生成库(如 CGLib)等一切会运行时产生新代码的功能都不再可用。...当然 Spring Native 遇到的问题有很多,且仍然处于试验阶段。以原生方式运行,启动时间是能够缩短很多,但是程序的运行效率还是若于传统基于 JVM 的方式,且编译成原生程序代码的时间更长。

    2.7K60

    Hystrix:服务熔断

    当扇出链路的某个微服务不可用或者响应时间太长时,会进行服务的降级,进而熔断该节点微服务的调用,快速返回错误的响应信息。检测到该节点微服务调用响应正常恢复调用链路。...说白了,就是尽可能的把系统资源让给优先级高的服务。 资源有限,而请求是无限的。如果在并发高峰期,不做服务降级处理,一方面肯定会影响整体服务的性能,严重的话可能会导致宕机某些重要的服务不可用。...降级的处理方案有:默认值(比如库存服务挂了,返回默认现货)、兜底数据(比如广告挂了,返回提前准备好的一些静态页面)、缓存(之前暂存的一些缓存数据) 4)限流降级: 秒杀或者抢购一些限购商品时,此时可能会因为访问量太大而导致系统崩溃...服务熔断和降级的区别 服务熔断—>服务端:某个服务超时或异常,引起熔断~,类似于保险丝(自我熔断) 服务降级—>客户端:从整体网站请求负载考虑,当某个服务熔断或者关闭之后,服务将不再被调用,此时在客户端...> 添加主启动类,开启Dashboard @SpringBootApplication // 开启Dashboard @EnableHystrixDashboard public

    27410

    微服务 day09:Eureka、Feign、课程预览实现

    详细的参考资料:https://www.cnblogs.com/xishuai/p/spring-cloud-eureka-safe.html 2、高可用环境配置 Eureka Server 高可用环境需要部署两个...2)静态资源虚拟主机 静态资源虚拟主机负责处理课程详情、公司信息、老师信息、统计信息等页面的请求: 将课程资料中的 “静态页面目录” 中的目录拷贝到 F:/develop/xuecheng/static...由于课程页面需要通过SSI加载页头和页尾所以需要通过 www.xuecheng.com 虚拟主机转发到静态资源 在 www.xuecheng.com 虚拟主机加入如下配置: #静态页面资源 location...: #静态资源服务 upstream static_server_pool{ server 127.0.0.1:91 weight=10; } 3)门户静态资源路径 门户中的一些图片、样式等静态资源统一通过.../static 路径对外提供服务,在 www.xuecheng.com 虚拟主机中配置如下: #静态资源,包括系统所需要的图片,js、css等静态资源 location /static/img

    1.1K30

    Spring全家桶之SpringSecurity

    起因是 Spring 开发者邮件列表中一个问题,有人提问是否考虑提供一个基于 Spring安全实现。限制于时间问题,开发出了一个简单的安全实现,但是并没有深入研究。...几周Spring 社区中其他成员同样询问了安全问题,代码提供给了这些人。2004 年 1 月份已经有 20 人左右使用这个项目。...步骤介绍: 第一步 : 在mvcMatchers()中的servletPath()方法指定前缀 第二步: 在用户登陆中添加前缀 第三不: 放行静态资源 九、内置访问控制方法介绍 Spring Security...,用户必须首先在代理服务器上得到授权 408——客户端没有在用户指定的饿时间内完成请求 409——对当前资源状态,请求不能完成 410——服务器上不再有此资源且无进一步的参考地址 411——服务器拒绝用户定义的...这些注解都是默认是都不可用的, 需要通过@EnableGlobalMethodSecurity 进行开启使用。 如果设置的条件允许,程序正常执行。

    3.5K10

    真肝,整理了一周的Spring面试大全【含答案】,吊打Java面试官

    解 释 Spring 框 架 中 bean 的 生 命 周 期 。 Q20、怎样开启注解装配 ? Q21:Spring 支 持 的 ORM有那些?...方法使用的是新创建容器创建通过方法加载 Bean 配置资源,该方法做两件事: ① 调用资源加载器的方法获取要加载的资源。...对于集合类型的属性,将属性值解析为⽬标类型的集合直接赋值给属性。 当容器对 Bean 的定位、载入、解析和依赖注⼊全部完成不再需要手动创建对象,IoC 容器会⾃动为我们创建对象并且注入依赖。...静态工厂方法,通过 bean 标签中的 class 属性指明静态工厂,factory-method 属性指明静态工厂方法。...Q20、怎样开启注解装配 ? 注解装配在默认情 况下是不开启的 ,为了使用注解装配 ,我们必须在Spring 配置文件中配置元素 。 Q21:Spring 支 持 的 ORM有那些?

    40140

    深入Spring Boot (七):静态资源使用详解

    Web应用经常需要使用大量的静态资源,如图片、css、js等,Spring Boot对这些静态资源的使用提供了默认配置。...1.静态资源存储路径 默认配置下,使用Spring Boot可以将静态资源存储在/static或/public或/resources或/META-INF/resources目录下,这四个目录的根目录都是...上面的四个位置是Spring Boot读取静态资源的默认位置,使用spring.resources.static-locations属性配置这四个位置,查看Spring Boot源码可以验证,具体代码如下所示...classpath下的statics,具体配置如下: spring.resources.static-locations=classpath:/statics 配置自定义静态资源存储目录,默认的存储位置将不再生效.../image/,具体配置如下: spring.mvc.static-path-pattern=/image/** 配置自定义静态资源访问路径,默认的访问路径将不再生效。

    1.5K80

    Spring Security----RBAC权限控制模型,和权限相关知识点整理

    实现效果 动态资源鉴权规则 测试一下 权限表达式使用方法总结 SPEL表达式权限控制 SPEL在全局配置中的使用 URL安全表达式 安全表达式中引用bean Method表达式安全控制 开启方法级别注解的配置...在我们的Spring Security配置类SecurityConfig中仍然有一部分内容是通过代码静态配置的,那就是:资源鉴权规则。 简单说“资源鉴权规则”就是:你有哪些权限?...实现效果 上图是资源鉴权规则完成之后的效果: 首先将静态规则去掉(注释掉的部分内容),这部分内容我们将替换为动态从数据库加载 登录页面“login.html”和登录认证处理路径“/login”需完全对外开发...Spring Security可用表达式对象的基类是SecurityExpressionRoot。...开启方法级别注解的配置 在Spring安全配置代码中,加上EnableGlobalMethodSecurity注解,开启方法级别安全配置功能。

    2.1K20
    领券