Spring security 除了模式之外,如何忽略Spring安全配置

Spring security 除了模式之外,如何忽略Spring安全配置,spring-security,url-mapping,Spring Security,Url Mapping,我将RESTWebService配置为spring引导应用程序。 我的所有rest URL都有一个基本路径“/api/…”。 我还提供应用程序中的静态内容。 我只需要为web服务配置安全性,即以“/api/…”开头的URL,但不提供应用安全性的其他静态内容 我只看到过通过以下方式过滤一些url模式的示例: @Override public void configure(WebSecurity web) throws Exception { web.ignoring().antMatche

我将RESTWebService配置为spring引导应用程序。 我的所有rest URL都有一个基本路径“/api/…”。 我还提供应用程序中的静态内容。 我只需要为web服务配置安全性,即以“/api/…”开头的URL,但不提供应用安全性的其他静态内容

我只看到过通过以下方式过滤一些url模式的示例:

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

但除此之外…

代替antMatcher,您可以使用regexMatcher,它可以是一个否定模式

@Override
public void configure(WebSecurity web) throws Exception {
    web.ignoring().regexMatchers(XXXXX);
}
回答您最后的评论,如果您使用的是最新的spring框架和spring安全性,那么请按照配置标准在下面定义类和安全配置

package org.springframework.security.samples.config;
import org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer;

public class MessageSecurityWebApplicationInitializer extends AbstractSecurityWebApplicationInitializer {
}
此外,如果您仍然觉得难以开始使用SpringSecurity,请查看下面的URL


使用
HttpSecurity
类的
antMatcher
方法:

@配置
@启用Web安全性
公共类MySecurityConfig扩展了websecurityconfig适配器{
@凌驾
受保护的无效配置(HttpSecurity http)引发异常{
http.antMatcher(“/api/**”);
//在此处添加/api/…的安全约束
}
/*配置的其余部分*/
}

http.authorizeRequests().antMatchers(“/resources/**”).permitAll(),这样的配置将绕过安全性,您需要将所有此类静态内容保留在上面配置的URL中。是的,但我的任务是允许除antMatchers(“/api/**”)之外的所有内容。。怎么做??或者就像你说的,我必须将我的静态内容限制在一个基本路径上。。。这是一个约束na…ignering()//忽略所有以/resources/或/static/.antMatchers(“/resources/**”,“/static/**”)开头的URL;您可以在逗号分隔的列表中添加所有此类静态URL,在标准实现中没有其他方法。如果您想要类似的东西,那么您可能需要覆盖AntPathRequestMatcher中实现的默认逻辑,该逻辑只检查匹配的URL。感谢用户先生的回复。。。有没有一种方法可以像“/api/**”一样,对我的webservice基本路径全局应用Spring安全性。。。可能是servlet dispatcher级别,或者如您所述,我们如何使用XML配置来实现这一点?为什么使用两个星号?一个还不够吗?@user6708151一个星号=目录中的所有文件/一个级别,两个星号=包括子目录/所有级别。