使用 IDO 筛选器限制用户访问
要限制用户能够看到的数据,您可以在 IDO 上放置筛选器。任何能够访问该应用程序的智能客户机或 Web 客户机都能够根据应用于 IDO 的筛选器看到集合内的数据的子集。IDO 筛选器可以是通用的(也就是在任何人访问 IDO 时都应用于 IDO),也可以受到用户 ID 或组的限制。
例如,您可以创建一个筛选器,以使销售员用户只能看到自己的预约而看不到其他销售员的预约。您也可以创建一个筛选器,以使通过门户登录到该应用程序的客户能够查看其订单的有限信息。
使用“活动”复选框可以根据需要(例如在测试过程中)打开和关闭筛选器。
注意事项: 缺省情况下,在“行授权”表单中定义的由 Infor 提供的所有筛选器的“活动”复选框都是选中的。如果您不勾选某个筛选器的“活动”复选框,那么先前由该筛选器限制的用户将不再受限制。例如,如果您不勾选为“互动 IDO”设置的 Infor 提供的筛选器,那么任何客户门户用户不单能看到与该客户相关的互动,而且能看到系统中的所有互动。
您可以通过以下方法之一访问“行授权”表单中的 IDO 筛选器:
- 在资源管理器中,打开“行授权”表单。
- 在“用户”表单中,单击“”或“”以打开根据所选的用户或组筛选的表单。
- 在“组”表单中,单击“”或“”以打开根据所选的用户或组筛选的表单。
- 在“IDO”表单中,单击“”以打开根据所选的 IDO 筛选的表单。
备注
- 作为超级用户登录之后,您总是会看到未筛选的数据。
- 在表单上显示一个集合时,您可以打开“有关该表单”对话框以了解是否应用了 IDO 筛选器。该对话框中会列出所有已应用的筛选器。
- IDO 筛选器是添加到虚拟 SQL WHERE 子句中的附加子句,该虚拟 SQL WHERE 子句已被运行时服务转换为用于加载集合的 SQL。系统会将用于 IDO 的筛选器与其余的元数据一起加载,以便将它们与元数据对象一同缓存。当加载了集合时,除非加载过程忽略(由超级用户加载的)筛选器,否则 SQL 命令构建器会使用元数据将 IDO 级别的筛选器子句添加到 WHERE 子句中。
- IDO 筛选器子句是通过对以下所有或任何筛选器执行 AND 运算而生成的:
- 通用 IDO 筛选器,其“用户”和“组”都为空
- 用户的 IDO 筛选器,其“用户”设置为当前的登录名
- 用户所在组的 IDO 筛选器,其“组”设置为当前用户所在组的任意成员。(组筛选器被集体执行 OR 运算,原因在于用户应能够看到对用户所在的任何组可见的行。)
- 要在 IDO 上放置很多个别用户筛选器,系统管理员需要花费大量的时间进行设置和维护。只要可能,应在组或对照参考表中包含多个用户,然后对组或表格联接应用筛选器。
- 请注意,在具有多级 IDO 继承的 IDO 上使用筛选器或者您的某些用户属于很多分别具有筛选器的组时,筛选器子句可能会累计到影响性能的程度。
- 查看所生成的虚拟 SQL 查询。如果查询中的任何列未编入索引,则会影响到处理时间。将虚拟 SQL 查询与在设置“行授权”之前存在的原始查询进行比较,以确定其他筛选的结果。可以在日志监控器工具或 IDO 运行时开发服务器中查看虚拟 SQL 查询。
相关主题