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