我正在制作一个系统,任何用户都应该能够直接针对数据库运行实际的 MySQL 查询。显然,这为联盟和许多安全问题打开了大门,我希望使用基本的 MySQL 权限来解决这些问题。我希望任何用户都能够对某些表(包括联接)运行 SELECT 查询。其他登录用户应该有一些额外的权限,例如,包括 UPDATE 和 INSERT。权限也可能因用户设置、环境变量等而异。
总而言之,我想知道是否可以动态设置一堆权限并使用这些权限运行查询。
我正在制作一个系统,任何用户都应该能够直接针对数据库运行实际的 MySQL 查询。显然,这为联盟和许多安全问题打开了大门,我希望使用基本的 MySQL 权限来解决这些问题。我希望任何用户都能够对某些表(包括联接)运行 SELECT 查询。其他登录用户应该有一些额外的权限,例如,包括 UPDATE 和 INSERT。权限也可能因用户设置、环境变量等而异。
总而言之,我想知道是否可以动态设置一堆权限并使用这些权限运行查询。
我将在您的 MySQL 数据库中创建一组用户,具有您需要的不同权限集。例如:
User: NotLoggedIn
Permissions: select Table1
User: LoggedInNotValidated
Permissions: Select Table1, Table2
User: LoggedInValidated
Permissions: Select Table1, Table2, Table3. Update Table1, Table2, Table3
然后,当用户想要执行一个操作时,一个选择,您检查他是否已登录并且验证是或否,并且您使用正确的用户连接到数据库,允许该用户没有比该架构(或数据库)更多的操作用户)允许。