当前位置:  开发笔记 > 编程语言 > 正文

访问受保护的Spring Boot应用程序中的静态内容

如何解决《访问受保护的SpringBoot应用程序中的静态内容》经验,为你挑选了1个好方法。

我有一个独立的Spring Boot应用程序,其中包含/ src/main/resources/templates中的模板和/ src/main/resources/static中的静态内容.我希望在身份验证之前可以访问静态内容,因此CSS也会在登录页面上加载.现在它只在验证后加载.我的安全配置如下所示:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    private static final Logger logger = Logger.getLogger(SecurityConfig.class);

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) {
        try {
            auth.inMemoryAuthentication()
            ...
        } catch (Exception e) {
            logger.error(e);
        }
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .csrf().disable()
            .formLogin()
                .defaultSuccessUrl("/projects", true)
                .loginPage("/login")
                .permitAll()
                .and()
            .logout()
                .logoutRequestMatcher(new AntPathRequestMatcher("/logout", "GET"))
                .permitAll()
                .and()
            .authorizeRequests()
                .antMatchers("/static/**").permitAll()
                .anyRequest().authenticated();
    }

}

Dave Syer.. 16

无论应用程序是否安全,静态内容都在classpath:/static应用程序的根目录(即/*)中提供,因此您需要匹配根目录下的特定路径.春天引导允许在默认情况下所有访问/js/**,/css/**,/images/**(见SpringBootWebSecurityConfiguration详细内容),但你可能已经转向其关闭(不能看到你的代码的其余部分).



1> Dave Syer..:

无论应用程序是否安全,静态内容都在classpath:/static应用程序的根目录(即/*)中提供,因此您需要匹配根目录下的特定路径.春天引导允许在默认情况下所有访问/js/**,/css/**,/images/**(见SpringBootWebSecurityConfiguration详细内容),但你可能已经转向其关闭(不能看到你的代码的其余部分).


`@ EnableWebSecurity`关闭默认设置.
谢谢,当我做.antMatchers("/ css/**").permitAll()`它的工作原理.我编辑了我的帖子以包含完整的安全配置.我没有看到我可以关闭默认行为的其他地方?
推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有