0

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

https://github.com/rajendersaini/cabms/

只想指出配置

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);

你能帮忙解决这个问题吗?

4

3 回答 3

1

您的静态资源最终在您的战争文件中的什么位置?我问是因为您将它们放在 WEB-INF 目录下。我不知道 Spring 是否允许您在 WEB-INF 之外提供公共内容。

在我的构建中,我有我的静态内容

src/main/webapp/resources/...
    /css
    /js
    /img

这样,它们最终位于 /resources 目录下的 war 文件的顶层。你可以试一试。

于 2013-10-18T21:42:11.910 回答
0

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

       public void configure(WebSecurity web) throws Exception {
        web.ignoring().antMatchers("/resources/**");
    }
于 2013-10-19T19:49:22.807 回答
0

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

   @Override
        public void configureDefaultServletHandling(
                        DefaultServletHandlerConfigurer configurer) {
                configurer.enable();
        }

2) Java webapp 初始化程序正在寻找应该是“/*”而不是“/”的映射

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

于 2013-10-18T23:25:49.853 回答