我在Spring Boot应用程序中遇到了一个问题。当我从Tomcat 8容器(未嵌入)运行应用程序时,在任何弹簧启动API端点上都可以获得访问而没有任何问题。
的web.xml
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<servlet-name>/*</servlet-name>
</filter-mapping>
如果我通过嵌入式servlet容器的主程序启动相同的应用程序,那么我收到错误,需要对相同的API进行身份验证(401错误)。
{
"timestamp": 1518739659744,
"status": 401,
"error": "Unauthorized",
"message": "Full authentication is required to access this resource",
"path": "/api/xyz"
}
我在spring boot的配置中有以下bean实例,它等同于web.xml但仍然出错。
@Bean
public FilterRegistrationBean springFilterRegistration(){
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setName("springSecurityFilterChain");
filterRegistrationBean.setFilter(new DelegatingFilterProxy());
filterRegistrationBean.setUrlPatterns(Arrays.asList("/*"));
return filterRegistrationBean;
}
如果您遇到任何类似问题或遇到过,请告诉我。感谢。
答案 0 :(得分:0)
试试
security.basic.enabled=false
application.properties或application.yml