在Angular 2和.NET Web API之间使用用户名和密码验证系统的最佳方法是什么?
答案 0 :(得分:7)
首先尝试避免使用自己实现的方法。
最常用的方法是使用Json web token
。
https://jwt.io/
登录时,将Token返回到angular2,然后在每次请求时传递它。
有许多实现示例和要使用的库。
https://github.com/auth0/angular2-jwt
How to use JWT in MVC application for authentication and authorization?
答案 1 :(得分:1)
最好的方法是使用名为IdentityServer的软件包。我已经编写了一个关于它的教程,但是使用了一个旧版本,但它会给你一个好主意:
https://www.linkedin.com/pulse/securing-net-core-web-api-identityserver4-resource-owner-dalvandi
答案 2 :(得分:-4)
最佳做法是使用基本身份验证并将您的用户名和密码放在标头中。在客户端,您必须在标题中添加用户名和密码:
var user = 'user';
var password = 'password';
var base64encodedData = new Buffer(user + ':' + password).toString('base64');
将此标题添加到您的所有http请求中:
'Authorization': 'Basic ' + base64encodedData
在服务器端this link可以帮助您解密用户名和密码。不要忘记阻止Man in middle attack,api需要https。