作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我只想将权限授予 mysql 中的特定行。表:消息cols:从,到,消息
GRANT ALL ON db.messages TO 'jeffrey'@'localhost' WHERE messages.from = 'jeffrey' OR messages.to = 'jeffrey' ;
有了这样的东西,用户只能访问他自己的消息。
你知道如何解决这个问题吗?
最佳答案
根据 GRANT
命令,无法在每行的基础上设置权限级别(表/列,是的 - 但不是单独的行)。
你可以设置一个 View处理这个问题并授予用户访问 View 的权限。
如下所示的 View 应根据当前用户为您提供消息:
CREATE VIEW user_messages AS
SELECT *
FROM messages
WHERE
messages.from = user() OR messages.to = user();
grant-statement 应该是类似的:
GRANT ALL ON db.user_messages TO 'jeffrey'@'localhost';
关于mysql GRANT + WHERE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11693727/
我是一名优秀的程序员,十分优秀!