所以我正在创建一个需要用户登录的应用程序,每个用户都有一些特权。现在这个模型非常类似于mysql的数据库,可以有很多用户,每个用户都有自己的权限。
所以目前,对于我的应用程序的每个用户,我正在运行一个创建用户查询,然后授予他们所需的权限,并且它现在工作得很好
我的问题
我目前的方法有多好?
我知道,我可以创建自己的用户表和权限表,然后相应地编写查询,但是我目前的方法有什么问题,(毕竟这就是 mysql 在幕后所做的,对吧?)
所以我正在创建一个需要用户登录的应用程序,每个用户都有一些特权。现在这个模型非常类似于mysql的数据库,可以有很多用户,每个用户都有自己的权限。
所以目前,对于我的应用程序的每个用户,我正在运行一个创建用户查询,然后授予他们所需的权限,并且它现在工作得很好
我的问题
我目前的方法有多好?
我知道,我可以创建自己的用户表和权限表,然后相应地编写查询,但是我目前的方法有什么问题,(毕竟这就是 mysql 在幕后所做的,对吧?)
这种方法可能有很多缺点,以下很少 -
由于用户权限在 myisam 表中的 mysql 中进行管理,因此如果您将非常频繁地插入用户,则可以在这里锁定。
权限在您刷新它们之前不会生效,并且刷新命令会锁定表并可以在一段时间内阻止所有应用程序查询。
您不能在这些系统表中保存用户的其他重要信息,而在您自己的用户表中,您可以保存用户名、电子邮件、创建时间、密码更新时间等。
易于管理,因为您可以在 mysql 用户表中创建有限的配置文件并使用这些预定义的配置文件映射一组用户。
通过这种方式,您可以允许用户连接数据库,但限制在应用程序中执行某些特定任务,因为您可以在查询中以活动/非活动状态加入这些表。