Spring Security不允许资源访问,并且在登录后浏览器只显示一个CSS文件。

18 浏览
0 Comments

Spring Security不允许资源访问,并且在登录后浏览器只显示一个CSS文件。

我尝试自定义一个Spring Security的登录页面,但经过数小时仍然存在相同的问题。整个项目是用Java和HTML/CSS开发的。感谢您的帮助!

0
0 Comments

问题描述:使用Spring Security时,不允许访问资源,并且在登录后浏览器只显示一个CSS文件。

问题原因:Spring Security默认会对所有的请求进行安全验证,包括资源文件(如CSS、JS等)。因此,当用户尝试访问资源文件时,Spring Security会进行身份验证,从而导致资源无法被访问。

解决方法:通过配置WebSecurity来忽略资源文件的安全验证。具体的解决方法如下所示:

首先,在Spring Security的配置类中添加如下代码:

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

其中,`/resources/**`表示所有以`/resources/`开头的URL都会被忽略安全验证。

然后,重新启动应用程序,即可实现对资源文件的免验证访问。

更多解释请参考这个问题的回答。

0