【发布时间】:2018-11-03 17:22:35
【问题描述】:
我正在尝试在 Angular 5 中实现基本授权。我正在使用 HttpClient 和 HttpHeaders。我正在尝试使用 REST 服务连接到 tomcat 服务器。
此代码在我的登录功能中。
this.storage.set('credentials', credentials);
return new Promise((resolve, reject) => {
let headers = new HttpHeaders();
//btoa permet d'encoder le username et le mot de passe en base64
headers = headers.append("Authorization", "Basic " + btoa(credentials.username + ':' + credentials.password));
headers = headers.append("Content-Type", "application/x-www-form-urlencoded");
//utilisation de stateless pour ne créer qu'une session http et ne pas créer une session par requete
this.http.post(apiUrl+'ADUser', JSON.stringify({l: credentials.username, p: credentials.password}),{ headers:headers })
.subscribe(res => {
resolve((res: Response) => res.json());
}, (err) => {
console.log(err);
reject();
let alert = this.alertCtrl.create({
title: 'L\'authentification a échoué',
subTitle: 'Le nom d\'utilisateur ou le mot de passe est incorrect',
buttons: ['OK']
});
alert.present();
});
});
This is from the Chrome tools Network tab
查看论坛和本网站后,我还没有找到解决问题的方法。 有人可以帮我解决这个问题吗?
提前感谢您的回复和帮助我的时间
【问题讨论】:
-
如果我没记错的话,Angular 的
post请求第二个参数应该是一个对象,而不是字符串,也许删除JSON.stringify -
感谢您的回复。
this.http.post(apiUrl+'ADUser', credentials,{ headers:headers})如果我这样做,它也不起作用
标签: angular rest authorization httprequest