解决使用security和静态资源被拦截的问题

解决使用security和静态资源被拦截的问题,需要对Spring Security进行相应的配置。

一、配置Spring Security
可以通过以下代码块,实现对Spring Security的配置,主要是开启web_security、关闭跨域保护、开启匿名认证和对静态资源的忽略:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .cors()
            .and()
            .csrf().disable()
            .authorizeRequests()
            .antMatchers("/static/**").permitAll()
            .anyRequest().authenticated()
            .and()
            .httpBasic();
    }

    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring().antMatchers("/static/**");
    }

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth
            .inMemoryAuthentication()
            .withUser("user").password("{noop}password").roles("USER");
    }

}

二、设置静态资源被拦截的解决方案
有时候,虽然已经使用configure(WebSecurity web)方法将静态资源忽略,依然会出现静态资源被拦截的情况,这时候可以通过以下两种方式进行解决。

1、使用@EnableWebMvc安全配置
在@Configuration类中使用@EnableWebMvc注解开启MVC配置。这时候,如果需要访问静态资源,只需加上"/resources"前缀即可,如下所示:

@Configuration
@EnableWebSecurity
@EnableWebMvc
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        // ...
    }

    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring().antMatchers("/static/**");
    }

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        // ...
    }

}

2、设置静态文件的路径
在pom.xml文件中添加以下配置,将静态文件保存到src/main/resources/static路径下:

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>false</filtering>
            <includes>
                <include>**/static/**</include>
            </includes>
        </resource>
    </resources>
</build>

以上便是解决使用security和静态资源被拦截的问题的攻略,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决使用security和静态资源被拦截的问题 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 实例分析Java中public static void main(String args[])是什么意思

    下面我会为您提供详细的攻略: 1.关于主方法 在Java中,main方法是一个程序的入口,是Java程序启动时由JVM调用的第一个方法。Java中有许多类,每个类中都可以定义main方法。当程序启动时,JVM会查找该类中是否有main方法,如果有,JVM会执行main方法。 2.public static void main(String[] args)的含…

    Java 2023年5月26日
    00
  • ajax 异步上传带进度条视频并提取缩略图

    针对上传带进度条视频并提取缩略图的需求,可以通过以下步骤来实现: 1. 前端页面准备 首先,我们需要在前端页面中添加一个用于上传视频文件的表单,这个表单需要设置 enctype=”multipart/form-data” 属性以支持文件上传。此外,还需要添加一个用于显示上传进度的进度条,通过实时更新进度条的值来展示上传进度。 以下是一个简单的示例: <…

    Java 2023年5月20日
    00
  • SpringBoot实现文件下载功能的方式分享

    下面是Spring Boot实现文件下载功能的攻略: 准备工作 在开始Spring Boot实现文件下载功能之前,需要先在pom.xml文件中添加以下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-b…

    Java 2023年5月19日
    00
  • Java对象的初始化过程是什么?

    Java对象的初始化过程是指在创建对象时,为对象的属性分配内存空间并对其进行初始化的过程。具体流程如下: 为对象分配空间 在Java中,所有的对象都是在堆内存中分配空间。在使用new关键字创建对象的时候,JVM首先会检查该类是否已被加载,如果没有被加载则先加载该类,并为该对象分配所需的内存空间。 对属性进行默认初始化 在对象创建后,JVM会为对象的所有属性分…

    Java 2023年5月11日
    00
  • kafka topic 权限控制(设置删除权限)

    针对 Kafka topic 权限控制问题,可以采用以下步骤: 1. 启用Kafka权限控制特性 首先需要在Kafka的配置文件 server.properties 中启用权限控制特性。可以找到如下配置项: authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer 该配置项使用 SimpleA…

    Java 2023年5月20日
    00
  • Spring Boot 教程之创建项目的三种方式

    下面我将为您详细讲解“Spring Boot 教程之创建项目的三种方式”的完整攻略。 1. 概述 Spring Boot 是一个快速开发的框架,它提供了很多开箱即用的功能,可以让我们更轻松地创建和开发 Web 应用程序。创建 Spring Boot 项目的方法有很多,本文将介绍其中的三种方式。 2. 使用 Spring Initializr 创建 2.1 打…

    Java 2023年5月19日
    00
  • JSON 格式的弊端与解决方法(真实示例)

    JSON 格式的弊端与解决方法(真实示例) 弊端 JSON 是一种轻量级的数据交换格式,常用于前后端数据传输。然而,其亦存在一些弊端。 缺少数据类型 JSON 中的数据只有字符串、数字、布尔值、数组和对象等简单数据类型,缺乏复合数据类型。在前后端通讯的过程中,如果出现了复杂数据结构,如日期类型或文件类型,JSON 无法很好地处理这些数据类型。因此,在数据传输…

    Java 2023年5月26日
    00
  • Java ArrayList.add 的实现方法

    下面是详细讲解 Java ArrayList.add 的实现方法的完整攻略。 ArrayList 的概念 ArrayList 是 Java 中非常常用的动态数组,它支持快速随机访问,但并不支持插入和删除操作,因为这些操作会涉及到大量的数据移动,使得效率非常低下。由于这个问题,Java 提供了 LinkedList 类型,支持在列表的任意位置插入或删除元素。 …

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部