如何显示组中的所有用户—IBM Cognos 10 SDK

本文关键字:用户 IBM Cognos SDK 何显示 显示 | 更新日期: 2023-09-27 18:05:35

我想显示组中的所有用户以及他们的角色。
现在我可以列出所有带有"//account"的用户,所有带有"//group"的组或者所有带有"//role"的角色。

我是这样得到所有用户/组/角色的:

propEnum[] props = new propEnum[] {
propEnum.searchPath, propEnum.defaultName,};
sort[] s = new sort[] { new sort() };
s[0].order = orderEnum.ascending;
s[0].propName = propEnum.defaultName;
queryOptions queryOptions = new queryOptions();
StringBuilder output = new StringBuilder();
// Look for all the users.
output.AppendFormat("'nUsers:'n");
searchPathMultipleObject userPath = new searchPathMultipleObject();
userPath.Value = "//account";
baseClass[] bc = cBICMS.query(userPath, props, s, queryOptions);
if (bc.Length > 0)
{
    foreach (baseClass report_item in bc)
    {
        output.AppendFormat("DefaultName:        {0}'n", report_item.defaultName.value);
        output.AppendFormat("SearchPath:         {0}'n", report_item.searchPath.value);
    }
}  

如果我想显示组而不是用户,我只需要更改角色的userPath.Value = "//group";.."//role";

有人知道吗?

如何显示组中的所有用户—IBM Cognos 10 SDK

我已经想出如何在组中显示用户了。

http://www-01.ibm.com/support/docview.wss?uid=swg21335459这里有一个很好的描述,并附有c#和Java的示例。

我添加了"丙烯"。propEnum成员。objectClass"为"propum [] props",因为在"。"成员"是组的用户名。

propEnum[] props = new propEnum[] {
propEnum.searchPath, propEnum.defaultName, propEnum.members, propEnum.objectClass};

我已经更改了userPath。取值为"//group",用于搜索组。

searchPathMultipleObject userPath = new searchPathMultipleObject();
userPath.Value = "//group";

然后我稍微改变了一下我的函数:

 if (bc.Length > 0)
            {
                for(int i = 0; i < bc.Length; i++)
                {
                    string x = bc[i].objectClass.value.ToString();
                    if (bc[i].objectClass.value.ToString().Equals("group"))
                    {
                        group gp = (group)bc[i];
                        baseClass[] members = gp.members.value;
                        if(members != null && members.Length > 0)
                        {
                            for(int j = 0; j < members.Length; j++)
                            {
                                    output.AppendFormat("Members:  {0}'n", gp.members.value[j].searchPath.value); 
                                    output.AppendFormat("DefaultName: {0}'n'n", gp.defaultName.value);
                            }
                        }
                    }
                }
            }