5

我目前正在创建一个 java 方法(是 XPages 托管 bean 的一部分)来检索用户(不一定是当前用户)所属的列表组。

是否有任何简单的方法来检索此信息,或者我是否必须遍历所有组以检查用户并检查这些组是否是其他组的子组?

4

6 回答 6

13

在这里的博客文章中回答了这个问题:http: //ntf.gbs.com/nathan/escape.nsf/d6plinks/NTFN-8TMHRP

简单的版本是你正在寻找的是......

lotus.notes.addins.DominoServer server = new lotus.notes.addins.DominoServer("YourCanonicalServerName");
Collection nameList = server.getNamesList("TheUserNameYou'reLookingFor");

这应该就是你所需要的。

于 2012-04-23T20:30:49.590 回答
3

使用这个片段:

XSPContext context = XSPContext.getXSPContext(FacesContext.getCurrentInstance());
DirectoryUser currentUser = context.getUser();
Vector<String> groups = new Vector(currentUser.getGroups());
于 2013-09-24T07:36:30.957 回答
0

($ServerAccess)您可以从按用户名分类的 names.nsf 中的视图中检索此信息。

于 2012-04-04T13:18:52.347 回答
0

session.evaluate("@UserNamesList");

于 2012-04-04T13:31:24.873 回答
0

不确定您是否可以在此处(重新)使用 LotusScript,但这篇文章(IBM DeveloperWorks,请看第 4 段)是一个很好的开始。它提到了 NotesGroupManager 和 NotesGroup 类。这些类可以用作重写 XPage 代码的基础。似乎没有其他“简单”的方法可以找到用户所属的所有组。这个问题的直接答案似乎是否定的。

于 2012-04-04T19:26:13.020 回答
0

您可能更愿意在由组成员组织的每个主管中创建一个特殊视图,而不是遍历服务器上所有目录中的所有组。这使得找到匹配的速度要快得多。

Jasper 提到的 GroupManager 工具也是一个很好的 LotusScript 代码示例,它可以完成您想要的大部分工作。Java 中的对象是相同的,只是语法更讨厌。

/新人

于 2012-04-04T21:43:55.007 回答