这是我的第一个 Angular 项目:
一个 Angular 规划应用程序,提供存储在 mysql 数据库中的数据并以 json 格式发送。
有一个用户系统。每个用户都会获得一个 ID 和密码,以访问存储在自己数据库中的自己的数据。
此结构无法编辑,因为原始数据是从现有软件中检索并发送到每个用户的这些数据库。
我的问题是:从应用程序的主登录页面,如何使该特定用户登录到他的数据库?
我的想法:
- 使用 ID、密码和用户的数据库连接创建一个“登录”数据库,以允许我的应用程序连接到正确的数据库
- 在服务器上创建一种“路由器”,以将用户直接正确重定向到他的数据
我有点迷失,任何提示将不胜感激!
米凯尔
最佳答案
这并不是一个真正的答案
出于安全原因,最好不要将密码存储在数据库中:如果黑客以读者身份访问数据库,他可以连接任何帐户,包括管理员...
存储连接数据的最佳方法是根据登录名和密码创建哈希,例如使用 sha1
算法。这会创建一个无法逆转的签名。
程序如下:
登录时:
- 获取新用户提供的登录名和密码
- 检查登录名是否已存在于数据库中
- 连接登录名、密码和一些盐,并计算连接的 sha 签名
- 将登录名和哈希值存储在数据库中
登录时:
- 获取用户提供的登录名和密码
- 连接登录名、密码和相同的盐,并计算连接的 sha 签名
- 检查数据库中是否存在该对(登录名、哈希值)
PHP 中的哈希示例:
$login = 'toto';
$password = '123456789';
$salt = '$!*%';
$hash = sha1($salt.$login.$password);
关于php - 使用 API Rest 和双重 mysql 身份验证创建 Angular 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37566481/