h2 数据库创建一个新用户, 并授权对所有表只读

h2 数据库创建一个新用户, 并授权对所有表只读

我们的产品单机版的数据库一直是用h2, 由于要对接BI服务器, 所以需要配置一个只读的用户账号, 所以我花了一点时间去找了下如何创建用户, 并授权对所有表只读.感觉文档不太好找(对英文不好的同学来说), 还是记下来比较好.

创建用户

CREATE USER IF NOT EXISTS GUEST PASSWORD 'abc'

参考文档: h2database.com/html/com

给用户授权, 对所有表只读

GRANT SELECT ON SCHEMA PUBLIC TO GUEST;

参考文档: h2database.com/html/com

授权后新增的表可以是只读吗?

带着这个疑问,我创建了一个test_1的表

create table test_1 (
      ID int not null,
      NAME varchar(100) not null
);

然后插入一条数据

insert into  test_1 (id, name) values(1, 'test1');


再去BI服务器中刷新, 事实证明是可以看到并读取出数据的


结语

本文主要是针对h2数据库做的一次 创建用户并授权 的实践记录, 通过寻找文档并操作, 达到了预期的目的,笔芯❤.

编辑于 2020-09-25 11:13

文章被以下专栏收录