Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java spring security oauth2授权基本飞行前错误_Java_Spring_Tomcat_Spring Security_Spring Security Oauth2 - Fatal编程技术网

Java spring security oauth2授权基本飞行前错误

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与任何其他许可证一样。不过,基本的身份验证功能不起作用 我想说的是,我已经测试了每一种解

我对spring security oauth2有问题。除了CORS在HTTP基本授权的情况下,我的一切都正常工作。加载基本身份验证后,浏览器会向我的端点发送选项请求。但是,我得到一个错误:

对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头

以下是我的代码(我正在使用注释):

其他每一个基本的HTTP请求都可以工作(我所说的基本请求是指那些不需要飞行前选项请求的请求)。CORS与任何其他许可证一样。不过,基本的身份验证功能不起作用

我想说的是,我已经测试了每一种解决方案(从谷歌和StackOverflow)来让它工作,但我甚至还没有接近解决这个问题

我错过了什么

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();
    }
}