DMS用高权限建了一个存储过程,赋予了普通用户读写权限不能编辑这个存储过程,一直处于加载界面,但能?[阿里云数据管理DMS]

DMS用高权限建了一个存储过程,赋予了普通用户读写权限不能编辑这个存储过程,一直处于加载界面,但能直接删除?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. 在DMS中,存储过程的编辑权限是由所使用的用户角色和权限设置决定的。如果您使用高权限用户创建了一个存储过程,并向普通用户授予了读写权限但不能编辑该存储过程,可能会出现以下情况:

    1. 检查用户角色和权限:请确保您为普通用户分配了正确的角色和相应的读写权限。如果普通用户没有编辑存储过程的权限,那么他们将无法修改或更新该存储过程。

    2. 检查存储过程的所有者:存储过程的所有者通常是创建它的用户。如果存储过程的所有者是高权限用户,而非普通用户,那么普通用户将无法直接编辑该存储过程。

    3. 检查存储过程的状态:如果存储过程一直处于加载界面,可能存在编译或依赖关系的问题。这可能导致无法编辑存储过程,但可以删除它。您可以尝试重新加载存储过程或检查相关的错误日志或消息,以找出具体的问题所在。

    请注意,对于高权限用户创建的对象(如存储过程),默认情况下只有其所有者或具有相应权限的用户才能编辑和修改。如果您希望普通用户可以编辑存储过程,您需要相应地调整相关的权限设置或所有者。

  2. 在 MySQL 中,如果一个存储过程或函数被定义为 DEFINER 身份(即使用了 “CREATE DEFINER = user” 语法),那么只有该用户才有权利对该存储过程或函数进行修改和删除操作。其他用户只能执行该存储过程或函数,但无法修改或删除它。

    因此,如果一个存储过程被定义为 DEFINER 身份,并且给普通用户授权了该存储过程的读写权限,那么普通用户只能执行该存储过程,无法对其进行修改和删除操作。如果普通用户尝试修改或删除该存储过程,将会收到权限不足的错误提示。

    需要注意的是,如果一个存储过程没有定义为 DEFINER 身份,那么任何用户都可以对其进行修改和删除操作。因此,在创建存储过程时,需要根据实际需求和安全性考虑,选择合适的 DEFINER 身份。

  3. 打开F12控制台看下,看下接口是否有返回值,清楚缓存刷新页面后再试下
    ,此回答整理自钉群“阿里云DMS数据管理用户交流群”