【问题标题】:MySQL roles don't work in a Delphi applicationMySQL 角色在 Delphi 应用程序中不起作用
【发布时间】:2020-09-28 11:21:35
【问题描述】:

我将 MariaDB10 与 DBForge 一起使用并创建了一个 Delphi 项目,我创建了一个角色来管理权限,但效果不佳。

1 - 在 DbForge 面板上创建一个具有过程myprocedure 权限的角色

2 - 在我的 Delphi 项目中添加一个 Tmyquery,代码为 set default role myrole

3 - 在afterConnect 上添加一个过程,调用创建的查询

4 - 在 MyConnection 选项上设置 disconnectedMode = true

有时此过程有效,但大多数时候我收到错误:Acess denied to user XX for routine myprocedure

这发生在我试图控制权限的例程、函数和表中

除此之外,每次我授予角色权限并在编辑过程后,该角色都会失去我之前授予的权限

Obs:角色在 DbForge 面板上正常工作是我尝试将其放在 Delphi 上时

【问题讨论】:

    标签: mysql delphi roles dbforge mydac


    【解决方案1】:

    如果用户还没有访问该角色的权限,那么他们运行set default role myrole 不会将其授予他们。

    SET DEFAULT ROLE 需要以下权限:

    为其他用户设置默认角色需要全局 CREATE USER 权限,或 mysql.default_roles 的 UPDATE 权限 系统表。

    为自己设置默认角色不需要特殊权限, 只要您希望的默认角色已授予您。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-17
    • 1970-01-01
    • 2012-05-15
    • 2012-11-13
    • 2022-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多