【发布时间】:2019-04-08 01:54:05
【问题描述】:
我需要限制对属于RegionID 1 的行的访问。不确定如何在谓词函数中创建谓词函数来满足此条件?我什至尝试将 0 和 1 硬编码为返回语句,但它仍然返回所有内容,没有任何过滤。
我做错了什么?
下面的甚至无法编译。我也尝试了 Case 语句,它编译但返回所有内容而不过滤。
CREATE FUNCTION RLS.fn_RegionLimit(@RegionID int)
RETURNS table
with schemabinding
AS
IF @RegionID=1
RETURN 1
ELSE
RETURN 2
create security policy rls.PatientsSecurityPolicy
ADD Filter PREDICATE RLS.fn_RegionLimit(RegionID) on dbo.TestOrder
WITH (STATE=ON)
Select * from dbo.TestOrder
【问题讨论】:
-
只是想强调必须使用Select语句,用文字返回不起作用
标签: azure-sql-database row-level-security