【问题标题】:Not allowing Update, Delete, Insert or Drop from MyBatis SQL不允许从 MyBatis SQL 中更新、删除、插入或删除
【发布时间】:2014-09-11 07:34:05
【问题描述】:

我正在做一个项目,我将获得一个随机 SQL 查询,该查询应该只加载到包含数据的网页中。相当简单。我正在使用 MyBatis 来执行此操作。所以我加载到我的程序中的 SQL 查询,我希望它只接受 Select 语句。基本上,因为我只希望它显示数据,所以我不希望动态提供 SQL 查询的人能够更新、插入、删除、删除或创建任何东西。有什么办法可以告诉 MyBatis 不要接受这个?

如果我缺少任何形式的信息,请不要犹豫对我大喊大叫 :)

最好的问候

米克尔

【问题讨论】:

  • 通常,一个应用程序只使用一个用户/密码来访问 MySql。为了禁止某些用户(应用层)写入数据库,最简单的方法似乎是在 MyBatis 层上只允许该用户的“SELECT”方法。

标签: sql mybatis


【解决方案1】:

为什么你想让 MyBatis 处理这个?您可以限制正在使用的数据库中的权限。此链接可能有助于限制 MySQL 数据库中的权限。

How can I restrict a MySQL user to a particular tables

【讨论】:

  • 是的,我希望 MyBatis 处理这个问题。我将从不同的数据库中获取随机查询,因此无法转到单个数据库并修复它。我需要我的程序不允许它。
  • 恐怕你可能不得不在你的代码中处理它。 MyBatis 只是在你的应用程序和数据库之间提供一个接口。您唯一可以控制的不是自己编写任何 语句。由于查询是动态的,因此这也不在您的控制范围内,剩下的唯一方法就是在您自己的代码中处理所有内容,而不是考虑 myBatis。 :(
  • 限制应用层的写访问是一个正确的请求。
猜你喜欢
  • 1970-01-01
  • 2012-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-24
  • 2017-07-05
相关资源
最近更新 更多