首页 > 解决方案 > 特殊字段值和空值的安全策略

问题描述

我在 AOT 中创建了一个查询。此查询用于安全策略。安全策略是关于限制采购订单表单中的每个用户只能查看为他定义的采购池。他应该看到采购池也是空的采购记录。假设我有一个将用户映射到购买池的表(映射)。映射表有两个字段 UserId 和 PurchpoolId。

如您所知,安全策略对象接受查询。我的查询在 PurchPool 表和映射表上应用内部联接与当前用户的范围。purch 表添加在安全策略下的约束表下。安全策略的第一部分,即限制用户访问未为他定义的池的采购订单被正确执行。但是第二部分,即用户可以访问未定义任何池的采购订单仍未解决。

考虑到用户定义的 Pools 和空 Purchase Pools 的记录,如何使用查询创建安全策略?

标签: axaptax++security-policy

解决方案


这听起来像是我以前做过的事情。它需要一些扭曲的想法。您需要使用两个不存在的连接。

您的查询和策略都需要设置为使用不存在的连接。这样,您将从查询中返回无效值,并通过您的策略限制这些无效值。这允许空白/默认值包含在您的有效数据集中。

这是我们用于业务部门的示例查询:

示例查询结构 示例查询连接

这是政策:

在此处输入图像描述


推荐阅读