Spring Security Thymeleaf 静态资源未加载

2023-12-10

我将 Spring MVC 与 Thymeleaf 和 Spring-Security 一起使用。 我想使用 Thymeleaf 模板加载页面,并且可以加载静态资源。

我想从 template.html 加载位于以下位置的图片: static/img/theme/logo.png

这是我所拥有的:result


模板.html:

<body>
    <div layout:fragment="content">
                
        <a href="">img src="../static/img/theme/logo.png" alt="Logo"></a>
                                                        
        <h1>Hello</h1>
                  
    </div>
        
</body>

MvcConfig.java

@Configuration
public class MvcConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/home").setViewName("home");
        registry.addViewController("/index").setViewName("index");
        registry.addViewController("/template").setViewName("template");
        registry.addViewController("/layout").setViewName("layout");
        registry.addViewController("/login").setViewName("login");
        
    }
    
   
    
    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }
  
  
}

网络安全配置:

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    
    
    //List of all free pages
    
    private static final String[] pagesFree = {
            "/home",
            "/template",
            "/layout",
            
            //Thymleaf directory
            "/css/**",
            "/js/**",
            "/img/**",
            "/fonts/**",
            "/ico/**",
            "/twitter/**",
            "/"
            };
    
    
    
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        
        
        
        http
            .authorizeRequests()
                .antMatchers(pagesFree).permitAll()
                .anyRequest().authenticated()
                .and()
            .formLogin()
                .loginPage("/login")
                .permitAll()
                .and()
            .logout()
                .permitAll();
    }

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

源代码树


在您的安全配置中,您将声明如下内容:

/** Public URLs. */
private static final String[] PUBLIC_MATCHERS = {
        "/webjars/**",
        "/css/**",
        "/js/**",
        "/images/**",
        "/"
};

然后是这样的:

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

    List<String> activeProfiles = Arrays.asList(env.getActiveProfiles());
    if (activeProfiles.contains("dev")) {
        http.csrf().disable();
        http.headers().frameOptions().disable();
    }

    http
            .authorizeRequests()
            .antMatchers(PUBLIC_MATCHERS).permitAll()
            .anyRequest().authenticated()
            .and()
            .formLogin().loginPage("/login").defaultSuccessUrl("/payload")
            .failureUrl("/login?error").permitAll()
            .and()
            .logout().permitAll();
}

在 Thymeleaf 模板中,您可以声明如下内容:

<img class="featurette-image pull-left" th:src="@{/images/browser-icon-firefox.png}" />

可以找到您项目的工作副本here.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Security Thymeleaf 静态资源未加载 的相关文章

随机推荐

  • 必须声明一个主体,因为它没有标记为抽象或外部? C#/ASP.NET

    我有一个带有代码隐藏的普通 Web 表单 在这个代码隐藏中 我可以实例化根文件夹中的几个类 例如 public partial class Default System Web UI Page Helper helper new Helpe
  • 如何向 JTabbedPane 选项卡添加关闭按钮?

    我正在使用 JTabbedPane 我需要在选项卡中添加一个关闭按钮来关闭当前选项卡 我一直在搜索 据我了解 我必须从 JPanel 扩展并添加关闭按钮 正如他们所说here但是 有没有办法添加扩展 JTabbedPane 的关闭按钮 或者
  • WriteStream 无法在 Delta 表中写入数据

    我正在尝试使用以下代码从流路径连接 Streaming Json 文件 Schema1 customerId STRING orderId STRING products ARRAY
  • 正在寻找“分词器”、“解析器”和“词法分析器”的明确定义以及它们如何相互关联和使用?

    我正在寻找 分词器 解析器 和 词法分析器 的明确定义以及它们如何相互关联 例如 解析器是否使用分词器 反之亦然 我需要创建一个程序将通过 c h 源文件来提取数据声明和定义 我一直在寻找示例并且可以找到一些信息 但我真的很难掌握语法规则
  • Java:按指定的角度值围绕另一个点旋转点

    我试图将 java 中的 2D 点围绕另一个具有指定度数值的点旋转 在本例中只是围绕点 0 0 旋转 90 度 Method public void rotateAround Point center double angle x cent
  • Android 中的 GSON/Jackson

    我能够使用 JSONObject 和 JSONArray 成功解析 Android 中的以下 JSON 字符串 没有成功地使用 GSON 或 Jackson 获得相同的结果 有人可以帮助我使用包括 POJO 定义的代码片段来使用 GSON
  • 如何将 mutate 与具有多个参数的自定义函数一起使用

    我在 jared mamrot 的帮助下创建了这个自定义函数制作 dplyr 过程的自定义函数 它基本上采用一个数据框 一列和一个数字作为参数 并用 NA 替换该列中定义的值的百分比 y my func lt function df x y
  • Redis GET 与 SQL SELECT

    我对 NoSQL 还很陌生 但我一直很喜欢它的想法 我看了一下Redis 并提出了一些有关存储和接收多个的最佳方式的问题hashes 假设以下场景 Store a list of objects redis Hashes and selec
  • 解析 iOS 推送通知

    我已经完成了 Push 的事情解析网 一切正常 然后我被要求为公司创建一个解析帐户并进行设置 以便他们可以自己管理 好吧 没有意识到网站上有一个导出按钮 我删除了我帐户上的应用程序 并为他们创建了一个帐户 并将应用程序添加到他们的帐户中 我
  • .NET 反射:如何获取部分类上定义的属性

    我使用 NET 实体框架 我想将属性从一个 EntityObject 复制到另一个 但 System Type GetProperties 似乎没有返回分部类上定义的属性 Code 在 Visual Studio 生成的 XXX edmx
  • 使用 mysql 选择前 N 个*组*

    为了简单起见 假设我有一个包含 2 个字段的表 PERSON NAME 和 COMPANY ID 以及这些对 a 1 b 1 c 2 d 2 e 3 PERSON NAME a 和 b 在 COMPANY ID 1 工作 依此类推 我想选择
  • 将产品附加字段添加到 WooCommerce 上的特定产品

    我需要更改代码 以便不在我的所有 WooCommerce 产品上显示文本区域 但只有 2 个 这是在我的 WordPress 子主题上functions php file 我已将 product id 更改为 product id 2130
  • XSLT 为同一 XSL 的同一输入 XML 获取两个不同的输出

    我一直在在线工具中尝试我的 XSLT 代码 XSLT 1 0 处理器 http www freeformatter com xsl transformer html 最近 我不得不利用xs dateTime因此开始使用使用的工具XSLT 2
  • iOS CoreBluetooth 未扫描 iPad Air 中的服务

    我正在开发一个连接到 BLE 外设并从中接收数据的应用程序 它扫描外围设备 找到外围设备 发现服务 如果找到正确的服务 它就会接收数据 它在 iPhone 5 上运行良好 但当我在 iPad Air 上运行它时 它可以连接 但没有发现任何服
  • 防止网站上的暴力登录

    作为对最近的回应推特劫持 and Jeff 关于字典攻击的帖子 保护您的网站免受暴力登录攻击的最佳方法是什么 Jeff 的帖子建议为每次尝试登录增加延迟 并且评论中的建议是在第二次失败的尝试后添加验证码 这两个看起来都是好主意 但是你怎么知
  • XSLT、XML:按属性值分组

    使用 XSLT 根据属性值对元素进行分组的最佳方法是什么 使用 XSLT 2 0 或更高版本会更好吗 非常感谢您的帮助 Thomas 原始 XML
  • 如何使用宏将多个网页的数据提取到Excel中

    我正在尝试从一个特定网站将数据提取到 Excel 2007 中 但数据分布在多个网页上 我想在我的工作表中看到的是该网站上提供了哪些项目 而无需浏览许多页面或使用搜索 我的浏览器中有点错误 我尝试过通过 Excel 导入数据 但这只适用于一
  • Pandas - 计算过去 x 天数的值频率

    我发现了一些意想不到的结果 我想做的是创建一个列来查看 ID 号和日期 并计算该 ID 号在过去 7 天内出现的次数 我还想让该列动态化 x 数量 天 但只是尝试 7 天 所以给定这个数据框 import pandas as pd df p
  • 使用 Angular JS 更改 HTML 表格单元格背景颜色

    我刚刚开始在我的项目中使用 Angular JS 我一直在寻找一种方法来根据 Angular JS 表达式的值更改 HTML 表格单元格的背景颜色 但尚未找到解决方案 这是单元格 td data material or service td
  • Spring Security Thymeleaf 静态资源未加载

    我将 Spring MVC 与 Thymeleaf 和 Spring Security 一起使用 我想使用 Thymeleaf 模板加载页面 并且可以加载静态资源 我想从 template html 加载位于以下位置的图片 static i