我希望表中的行仅可由组成员访问。我创建用户并通过以下方法将其添加到组中,
CREATE USER abc LOGIN PASSWORD 'securedpassword1';
CREATE USER xyz LOGIN PASSWORD 'securedpassword2';
ALTER GROUP permanent ADD USER abc;
然后,我编写的策略使其仅对当前用户可用。但是我需要整个小组来访问它。
CREATE TABLE table_Workers
(
worID INT
,worName CHARACTER VARYING
,pgUser CHARACTER VARYING
);
INSERT INTO table_Workers VALUES
(1,'Jason','abc'),(2,'Roy','abc'),(3,'Johny','abc')
,(4,'Jane','xyz'),(5,'Kane','xyz'),(6,'Stuart','xyz');
CREATE POLICY policy_employee_user ON table_Workers FOR ALL
TO PUBLIC USING (pgUser = current_user);
ALTER TABLE table_Workers ENABLE ROW LEVEL SECURITY;
pgUser命名可以访问该行的用户。我希望将pgUser列替换为pgRole,其中提到了组的名称,该组的成员可以访问该特定行。任何使行可被整个组访问的提示或方法都是值得赞赏的。
这似乎可行:
CREATE TABLE workers
(
worid int,
worname text,
pgrole text[]
);
INSERT INTO workers
VALUES
(1,'Jason','{group1}'),
(2,'Roy','{group1,group2}'),
(3,'Johny','{group1}');
CREATE POLICY policy_employee_user ON workers FOR ALL
TO PUBLIC
USING ( (select count(*)
from unnest(pgrole) r
where pg_has_role(current_user, r, 'MEMBER')) > 0 );
ALTER TABLE workers ENABLE ROW LEVEL SECURITY;
问题内容: 我正在使用 PostgreSQL 10.1 ,直达关键点… 可以说我有一张table : 连同上面的 GIN INDEX : 和一个基本的全文搜索查询: 无论 public.document 表的大小如何,查询都非常快(您已经知道了)!计划人员使用INDEX,一切都很好。 现在,我通过 RLS(行级安全性) 介绍一些基本的访问控制,首先启用它: 然后添加策略: 为了简单 起见,is_c
关于用户权限的信息是保存在 mysql 数据库(即数据库名为 mysql)的 user、db、host、tables_priv、columns_priv 和 procs_priv 表。MySQL 服务器在启动时读取这些表的内容。 当你运行一个连接到服务器的客户端程序时,MySQL 访问控制有两个阶段:阶段 1:服务器检查是否让你连接。 阶段 2:假设你可以连接,服务器会检查你发出的每句语句,决定你
问题内容: 我需要严格控制Postgres数据的读写。可更新的视图始终能够很好,严格地控制我的数据读取,并允许我添加有价值的计算列。在Postgres 9.5中,行级安全性引入了一种新的强大的方法来控制我的数据。但是我不能同时使用两种技术视图和行级安全性。为什么? 问题答案: 基本上是因为不可能追溯更改视图的工作方式。我希望能够支持(或等效)视图,但是据我所知,目前尚不存在这样的功能。 您可以使用
问题内容: 我正在尝试缩小美国地图。要么是我的SVG,要么是手动的。 这是我的代码中最简单的: 我已经尝试过类似的东西: 但是每次我在路径变量中添加任何内容时,我都会从D3的内部收到NAN错误。谢谢你的帮助! 问题答案: 关键问题是您的数据 已经被 投影。D3 geoProjections使用未投影的数据或成对的数据。WGS84基准中的数据。实质上,d3 geoProjection会采用球面坐标并
Spring Boot执行器endpoint默认受基本http安全保护。 这个可以改成使用Spring Security吗?我已经成功地设置了Spring Security并使用它来保护我的其他页面。 我尝试了并在授权请求中添加了(注意,我使用了不同的url作为endpoint的根用户),但这没有帮助。我一直得到一个基本的http身份验证日志,它不是用户在AuthenticationManager
我正在尝试通过连接到LDAP使用Spring Security进行我的第一个演示。 我使用的Sping版本是:3.1.0.RELEASE 以下是我的security-integration.xml: 然而,每当我部署我的战争时,我都会遇到这个例外: HTTP状态500 - 类型异常报告 消息 描述服务器遇到一个内部错误(),该错误阻止它完成此请求。 例外情况 javax.servlet。Servl