Configuration Manager中的安全性示例查询

以下示例查询演示如何将安全视图联接到其他视图。

加入安全视图

以下查询列出了用户对受保护对象拥有的用户名、对象名称和类权限名称。 使用 ObjectKey 列将v_SecuredObject视图联接到v_UserClassPermNames视图。

    SELECT UCP.UserName, SO.ObjectName, UCP.PermissionName 
    FROM v_SecuredObject SO INNER JOIN v_UserClassPermNames UCP 
    ON SO.ObjectKey = UCP.ObjectKey 
    ORDER BY UCP.UserName, SO.ObjectName, UCP.PermissionName 

联接安全性和集合视图

以下查询按集合 ID 和集合名称、用户名以及该集合的实例权限列出所有集合。 v_Collection集合视图将分别使用 CollectionID 列和 InstanceKey 列联接到v_UserInstancePermNames安全视图。

    SELECT COL.CollectionID, COL.Name AS CollectionName, UIP.UserName, 
    UIP.PermissionName 
    FROM v_Collection COL INNER JOIN v_UserInstancePermNames UIP 
    ON COL.CollectionID = UIP.InstanceKey 
    ORDER BY COL.CollectionID 

上述查询的输出将列出单个集合的所有实例权限。 如果用户对包含) 的所有实例 (集合对象具有类权限,则需要运行另一个查询来获取用户对该集合对象的所有权限。 (1 的对象键是指集合对象。)

可以从 v_UserClassPermNames 视图中运行以下查询,以列出集合对象的所有用户类权限。

    SELECT UserName, PermissionName 
    FROM v_UserClassPermNames 
    WHERE ObjectKey = 1 

将上述两个查询一起使用时,可以获取所有集合类和实例的用户权限列表。

另请参阅

Configuration Manager中的安全视图