如果组织将权利信息保留在外部系统应用程序中,那么可以编写自己的插件,用于将 Monitor 细颗粒度安全性过滤器与外部系统应用程序相集成。 您还可能需要编写自己的插件以用于更高级的安全性过滤器。例如,如果安全性过滤器需要 LDAP 注册表和单独数据库查找的信息,那么可以编写管理此逻辑的插件。
细颗粒度安全性插件注册到监控模型时,针对监控上下文进行的查询会将用户和组信息传递到外部权利系统插件,然后该插件可以在外部权利系统中查询特定于该用户或组的安全性规则。根据在外部权利系统中找到的规则,该插件会向 Monitor 返回一个安全性过滤器。该安全性过滤器用于限制实例数据,方式与使用直接在 Monitor 中配置的安全性过滤器一样。如果插件注册到特定的监控模型,那么只能使用该插件;直接在 Monitor 中配置的安全性过滤器将忽略。
要使用外部权利系统,可创建 Monitor 细颗粒度安全性框架的插件。Business Monitor 提供用于插件的扩展点,权利系统插件和权利系统本身一起使用,可指定安全性过滤器,如以下示例中所述:
请注意,Cognos 没有为安全性过滤器提供类似的运行时扩展点。Monitor 插件接口具有多种方法可返回监控上下文的所有安全性过滤器。该插件可以实施此方法,以将所有用户和组安全性过滤器传递到 Monitor。在 Cognos 立方体数据包生成期间,Monitor 会将这些安全性过滤器应用于 Cognos 模型。
如果 Business Monitor 在查询运行时检查安全性过滤器,那么当发布立方体数据包时,Cognos 将仅使用聚集到立方体数据包中的安全性过滤器。因此,如果安全性过滤器更改,您必须重新发布立方体数据包,从而包含安全性过滤器更改。
Business Monitor 中随附了样本插件参考实施。样本说明了扩展点并使用平面文件和 LDAP 系统来仿真外部权利系统。样本在样本:细颗粒度安全性中进行了描述。有关如何实施样本提供程序的具体信息在实施定制细颗粒度安全性提供程序中进行了说明。