资源(js/css/images)在spring安全性之后无法工作
1) 我已经使用纯java配置配置了应用程序除了css/js/images之外,其他一切似乎都正常工作。该应用程序在Github上的 我只想指出配置 AppConfig-spring mvc config-使用资源(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
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。到目前为止,一切都很顺利。当我引入安全措施时,一切似乎都停止了。无论如何,谢谢你的调查,真的很感激。