があります。 私はAngular 2とSpring Frameworkを初めて使用しています。 私は認証ヘッダー(基本認証)で単純なget要求を試みています。プリフライトの応答に無効なHTTPステータスコード401 - Spring
私はSpringブート(1.2.6.RELEASE)を使用しています。これは関連性があります。 CORSの設定は次のようになります。
のXMLHttpRequestが http://localhost:8080/api/login?username=userをロードすることはできません。
@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); }
私は得続けるから次のようになります。プリフライト の応答が助けてください無効なHTTPステータスコード401
を持って、私は私が欠けているのか分からない... 私はすでにポストの多くの周りにチェックしますがそこに着くことができませんでした...
HTTP 401はあなたの要求があればチェックし、見つからないため、認可を満たすことができないことを意味しますが動作しています –
response.setHeader( "Access-Control-Allow-Credentials"、 "true")を削除できますか?試してみる? –
@ TharsanSivakumar、とにかく感謝、同じ考えを持って –