我试图用我的Angular 4.1应用程序调用Java springboot webservice但是有一个HTTP 401错误。
我的springboot webservice适用于Firefox或rest客户端,但不适用于角度。我认为它的角度打字问题。
这是Java EE错误:
Access is denied (user is anonymous); redirecting to authentication entry point
org.springframework.security.access.AccessDeniedException: Access is denied
这是我的角度代码:
var headers = new Headers({authorization : "Basic " + btoa("j:j")});
let options = new RequestOptions({ headers: headers });
let url: string = 'http://localhost:8080/wstest';
return this._http.get(url, options)
.map((res: Response) => res.json())
.subscribe(datas => {
console.log(datas);
});
当我将wireshark与浏览器webservice调用一起使用时,请参阅基本的自动调整标题:
Authorization: Basic ajpq\r\n
Credentials: j:j
但是,通过角度调用,没有凭据:
Access-Control-Request-Headers: authorization
如何使用Angular 4.1调用springboot webservice以添加基本授权凭证?
答案 0 :(得分:0)
我找到了答案。
Standalone Spring OAuth2 JWT Authorization Server + CORS
Springboot服务器必须实现特定的过滤器才能允许角度“OPTION”webservice请求。