java - 创建具有数据库权限的新用户

标签 java mysql

我正在尝试在我的项目中实现登录功能。为了使其“安全”,我想尝试使用 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/

相关文章:

java - Double check 中不稳定的东西是什么?

java - 根据参数化 Junit 测试用例中的不同参数更改断言行为

java - 如何在 EditText 密码输入字段旁边放置 ImageView

php - 使用 mysql_query 在 PHP 中出现 mysql_num_rows 错误

php - 如何比较两个值?

php - mysqli 函数不返回任何值

MySQL 根据条件每行更新值行

java - 如何使用 commons file upload streaming api 上传文件

java - 比较 Java 中的两组对象

mysql - 如何使用 ipv6 从 wordpress 连接到 mysql