Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
资源(js/css/images)在spring安全性之后无法工作_Spring_Spring Mvc_Spring Security - Fatal编程技术网

资源(js/css/images)在spring安全性之后无法工作

资源(js/css/images)在spring安全性之后无法工作,spring,spring-mvc,spring-security,Spring,Spring Mvc,Spring Security,1) 我已经使用纯java配置配置了应用程序除了css/js/images之外,其他一切似乎都正常工作。该应用程序在Github上的 我只想指出配置 AppConfig-spring mvc config-使用 registry.addResourceHandler("/resources/**") .addResourceLocations("/WEB-INF/resources/").setCachePeriod(31556926); 在SecurityC

1) 我已经使用纯java配置配置了应用程序除了css/js/images之外,其他一切似乎都正常工作。该应用程序在Github上的

我只想指出配置

AppConfig-spring mvc config-使用

registry.addResourceHandler("/resources/**")
                .addResourceLocations("/WEB-INF/resources/").setCachePeriod(31556926);
在SecurityConfig中-

http.authorizeRequests()
                .antMatchers(LoginController.AUTHLOGIN,
                        ResourceConfig.RESOURCE_PATH_MATCHER).permitAll()
                .anyRequest().authenticated().and().formLogin()
                .loginPage(LoginController.AUTHLOGIN);

您能帮我解决这个问题吗?

您的静态资源在war文件中的位置?我这样问是因为它们在WEB-INF目录下。我不知道Spring是否允许您通过WEB-INF提供公共内容

在我的构建中,我在

src/main/webapp/resources/...
    /css
    /js
    /img
这样,它们就位于/resources目录下war文件的顶层。你可以试一试。

1)最后,我的应用程序资源开始工作了——我在mvc应用程序配置中做了一些更改,我不知道是什么时候引入这一行的,这就是罪魁祸首。我以后再调查

   @Override
        public void configureDefaultServletHandling(
                        DefaultServletHandlerConfigurer configurer) {
                configurer.enable();
        }
2) Java webapp初始值设定项正在查找应为“/*”而不是“/”的映射


3) 在页眉和页脚中,我们需要将上下文附加到资源路径。

您没有指定一个安全规则,该规则将忽略静态资源的应用程序安全性。尝试在Spring安全配置类中添加如下代码:

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

Spring允许他们从任何dir。到目前为止,一切都很顺利。当我引入安全措施时,一切似乎都停止了。无论如何,谢谢你的调查,真的很感激。