我正在尝试在我的项目中实现登录功能。为了使其“安全”,我想尝试使用 phpmyadmin (我的管理数据库的工具)提供的用户系统,而不是使用 root 用户登录,然后将用户名和密码存储在表中并验证它们等。
我尝试在 phpmyadmin 中添加一个新用户,然后我查看了表示添加新用户的代码的 SQL 代码:
CREATE USER 'username_test'@'localhost' IDENTIFIED WITH mysql_native_password AS '***';
GRANT SELECT ON *.* TO 'username_test'@'localhost' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
GRANT ALL PRIVILEGES ON `restaurant_app`.* TO 'username_test'@'localhost';
所以我的目标是使用此 SQL 在我的应用程序中注册登录用户。但我不知道如何提供密码,我不完全理解这个命令的第一部分。此外,我希望您告诉我使用 phpmyadmin 用户功能是否是一个好主意,或者我是否应该使用经典方法来执行此操作:使用 (user:"root", passwd:"") 连接到数据库查看我自己的包含所有用户登录的表?
最佳答案
不,这不是一个好主意。您可以使用 bcrypt 来存储哈希密码而不是纯文本密码。在后端,您将对来自前端的密码进行哈希处理,并将该值与数据库中的值进行比较。
您可以阅读this发帖查看一些示例。
关于java - 创建具有数据库权限的新用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57485952/