Java spring security oauth2授权基本飞行前错误
我对spring security oauth2有问题。除了CORS在HTTP基本授权的情况下,我的一切都正常工作。加载基本身份验证后,浏览器会向我的端点发送选项请求。但是,我得到一个错误: 对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头 以下是我的代码(我正在使用注释): 其他每一个基本的HTTP请求都可以工作(我所说的基本请求是指那些不需要飞行前选项请求的请求)。CORS与任何其他许可证一样。不过,基本的身份验证功能不起作用 我想说的是,我已经测试了每一种解决方案(从谷歌和StackOverflow)来让它工作,但我甚至还没有接近解决这个问题 我错过了什么Java spring security oauth2授权基本飞行前错误,java,spring,tomcat,spring-security,spring-security-oauth2,Java,Spring,Tomcat,Spring Security,Spring Security Oauth2,我对spring security oauth2有问题。除了CORS在HTTP基本授权的情况下,我的一切都正常工作。加载基本身份验证后,浏览器会向我的端点发送选项请求。但是,我得到一个错误: 对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头 以下是我的代码(我正在使用注释): 其他每一个基本的HTTP请求都可以工作(我所说的基本请求是指那些不需要飞行前选项请求的请求)。CORS与任何其他许可证一样。不过,基本的身份验证功能不起作用 我想说的是,我已经测试了每一种解
public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] { AppConfiguration.class };
}
@Override
protected Class<?>[] getServletConfigClasses() {
return null;
}
@Override
protected String[] getServletMappings() {
return new String[] { "/*" };
}
@Override
protected Filter[] getServletFilters() {
CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter();
encodingFilter.setForceEncoding(true);
encodingFilter.setEncoding("UTF-8");
return new Filter[]{encodingFilter,
new DelegatingFilterProxy("springSecurityFilterChain"),
new CORSFilter() };
}
}
// CORS
public class CORSFilter implements Filter {
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
System.out.println("Filtering on...........................................................");
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "X-Requested-With, Content-Type, Authorization, Origin, Accept, Access-Control-Request-Method, Access-Control-Request-Headers");
chain.doFilter(req, res);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void destroy() {
}
}
@Configuration
@EnableWebSecurity
public class OAuth2SecurityConfiguration extends WebSecurityConfigurerAdapter {
// other stuff...
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests().antMatchers("/oauth/**", "/kiosks").permitAll().and().httpBasic();
}
}