Angular 4.1使用springboot webservices进行基本身份验证

时间:2017-12-12 09:40:22

标签: java angular web-services spring-boot angular-http

我试图用我的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以添加基本授权凭证?

1 个答案:

答案 0 :(得分:0)

我找到了答案。

Standalone Spring OAuth2 JWT Authorization Server + CORS

Springboot服务器必须实现特定的过滤器才能允许角度“OPTION”webservice请求。