spring引导安全性的基本URI

spring引导安全性的基本URI,spring,angular,spring-boot,spring-security,Spring,Angular,Spring Boot,Spring Security,在旧的spring(在spring启动之前)中,我在web.xml中定义了 <filter-mapping> <filter-name>myFilter</filter-name> <url-pattern>/rest/*</url-pattern> </filter-mapping> 我的过滤器 /休息/* 通过这种方式,安全性仅应用于“/rest/”下的URI,并且从根目录提供的静态资源不受保

在旧的spring(在spring启动之前)中,我在web.xml中定义了

<filter-mapping> 
    <filter-name>myFilter</filter-name> 
    <url-pattern>/rest/*</url-pattern> 
</filter-mapping>

我的过滤器
/休息/*

通过这种方式,安全性仅应用于“/rest/”下的URI,并且从根目录提供的静态资源不受保护(我的html/Angular2内容)。然而,我在SpringBoot中找不到任何这样做的参考,有人已经解决了这个问题吗

从您的web.xml中,我找不到任何有关安全配置的内容

但正如您所描述的,您可以通过spring安全性对其进行如下配置,以允许“/”但需要对“/rest/”路径进行身份验证

@Configuration
@EnableGlobalAuthentication
public class ResourceSecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
            .antMatchers("/").permitAll()
            .antMatchers("/rest/**").authenticated()

            ......
    }
}

这是一个很好的教程系列。

在spring boot中,您可以处理以下问题:

@SpringBootApplication
public class SpringDemoApplication {


@Bean
public FilterRegistrationBean someFilterRegistration() {

    FilterRegistrationBean registration = new FilterRegistrationBean();
    registration.setFilter(someFilter());
    registration.addUrlPatterns("/rest/*");
    registration.setName("myFilter");
    return registration;
}

@Bean(name = "myFilter")
public Filter myFilter() {
    return new MyFilter();
}
}