gpt4 book ai didi

java - 预检响应具有无效的 HTTP 状态代码 401 - Spring

转载 作者:IT老高 更新时间:2023-10-28 13:58:58 30 4
gpt4 key购买 nike

每个人。我是 Angular 2 和 Spring Framework 的新手。我正在尝试一个带有授权 header (基本身份验证)的简单获取请求。

我正在使用 Spring Boot (1.2.6.RELEASE),这也可能是相关的。我的 CORS 配置如下所示。

@Component
public class SimpleCorsFilter implements Filter {

private final Logger log = LoggerFactory.getLogger(SimpleCorsFilter.class);

public SimpleCorsFilter() {
log.info("SimpleCORSFilter init");
}

@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {

HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;

response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With, remember-me, authorization, x-auth-token");

chain.doFilter(req, res);
}

@Override
public void init(FilterConfig filterConfig) {
}

@Override
public void destroy() {
}

}

这是从客户端看的样子

    this.headers.append('Authorization', 'Basic dXNlcjphZG1pbg==');
return this.http
.get(`http://localhost:8080/api/login?username=${username}`, {headers : this.headers} )
.map(response => response.json().data as any);
}

我不断得到:

XMLHttpRequest cannot load http://localhost:8080/api/login?username=user. Response for preflight has invalid HTTP status code 401

请帮忙,我不知道我错过了什么......我已经检查了很多帖子,但无法到达那里......

最佳答案

这可能会很晚,但这可以解决一些问题,经过很长时间我找到了答案

public class SecurityConfig extends WebSecurityConfigurerAdapter
{
@Override
public void configure( WebSecurity web ) throws Exception
{
web.ignoring().antMatchers( HttpMethod.OPTIONS, "/**" );
}
}

请参阅 https://stackoverflow.com/a/45830981/3724760

关于java - 预检响应具有无效的 HTTP 状态代码 401 - Spring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40370022/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com