如何显示组中的所有用户 - IBM Cognos 10 SDK
How to show all users who are in a group - IBM Cognos 10 SDK
我想显示组中的所有用户以及他们的角色。
现在我可以列出所有带“//account”的用户,带“//group”的所有组或带“//role”的所有角色。
这就是我得到全部的方法users/groups/roles:
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";
。
有人有想法吗?
我已经弄明白如何向组中的用户显示了。
http://www-01.ibm.com/support/docview.wss?uid=swg21335459 这里有一个用 C# 和 Java.
示例的很好的描述
我已将 "propEnum.members, propEnum.objectClass" 添加到 "propEnum[] props",因为在“.members”中是组的用户名。
propEnum[] props = new propEnum[] {
propEnum.searchPath, propEnum.defaultName, propEnum.members, propEnum.objectClass};
我已将 userPath.Value 更改为“//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);
}
}
}
}
}
我想显示组中的所有用户以及他们的角色。
现在我可以列出所有带“//account”的用户,带“//group”的所有组或带“//role”的所有角色。
这就是我得到全部的方法users/groups/roles:
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";
。
有人有想法吗?
我已经弄明白如何向组中的用户显示了。
http://www-01.ibm.com/support/docview.wss?uid=swg21335459 这里有一个用 C# 和 Java.
示例的很好的描述我已将 "propEnum.members, propEnum.objectClass" 添加到 "propEnum[] props",因为在“.members”中是组的用户名。
propEnum[] props = new propEnum[] {
propEnum.searchPath, propEnum.defaultName, propEnum.members, propEnum.objectClass};
我已将 userPath.Value 更改为“//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);
}
}
}
}
}