这是我在这里的第一个问题,请耐心等待。
我有一个应用程序,在{N}和Angular中,有一个帖子请求登录我的服务器。使用http url的http.post工作,但当我使用https网址更改为http.post时,它不再登录我。
奇怪的是,它适用于浏览器但不适用于我的应用程序。至于服务器证书,它是一个正确购买的证书,因此它没有遇到证书警告。
任何帮助都将不胜感激。
这是登录按钮调用的函数中的代码:
this.userService.login(this.user)
.subscribe(
() => this.router.navigate(["/all"]),
(error) => {
alert("Unfortunately we could not find your account.");
console.dump(error)
}
);
这是http调用的代码:
login(user: User) {
let headers = new Headers();
headers.append("Content-Type", "application/x-www-form-urlencoded");
headers.append("Accept", "application/json");
let options = new RequestOptions({ headers: headers, withCredentials: true });
let data = "j_username=" + user.username + "&" + "j_password=" + user.password;
return this.http.post(Config.apiUrlS + "static/auth/j_spring_security_check", data, options);
}
--- --- EDIT
事实证明,Android模拟器和设备已经测试了应用程序,不像我们在服务器上的RapidSSL SHA256 CA证书。这是它不起作用的原因吗?