2012-04-04 12 views
5

現在、ユーザー(必須ではないが現在のユーザー)がメンバーであるリスト・グループを取り出すために、Javaメソッド(一部およびXPages管理Beanの一部)を作成しています。定義されたユーザーのすべてのグループを決定します。

この情報を簡単に調べる方法はありますか、またはすべてのグループをループしてユーザーをチェックし、それらのグループが他のグループのサブグループであるかどうかを確認する必要がありますか?

答えて

12

+0

ブログに記載されていますが、誰もそれをチェックしません。 "lotus.notes.addins。*"は文書化されていないAPIなので、それ以降のリリースでは動作する(または利用可能である)という保証はありません。したがって、自己責任で使用してください。 –

+0

この優れた感謝を使いました!!!!!! – JMCooper

0

この情報は、ユーザー名で分類された($ServerAccess)ビューのnames.nsfから取得できます。

+0

$ ServerAccessは表示されません。したがって、必要に応じて扱いにくくなる可能性があります。 $ ServerAccessから始め、そこから作業します。循環参照を持つ警告グループ – stwissel

0

session.evaluate( "@UserNamesList");

+0

これは現在のユーザーに対してのみ機能します。私の理解が間違っていない限り、私の要件を満たしません。 – JMCooper

+0

それは正しいです..私はかっこを読み取っていません.. –

0

ここでロータススクリプトを使用できるかどうかはわかりませんが、article (IBM DeveloperWorks, look at the 4th paragraph)はすばらしいスタートです。 NotesGroupManagerクラスとNotesGroupクラスについて言及しています。これらのクラスは、XPage用のコードを書き換えるための基礎として使用できます。ユーザーが所属するすべてのグループを見つけるための他の「簡単な」方法はないようです。質問へのまっすぐな答えはNOと思われる。

0

サーバー上のすべてのディレクトリのすべてのグループをループするのではなく、グループメンバーによって編成された各ディレクターで特別なビューを作成することをお勧めします。それにより、マッチの発見がずっと速くなります。

Jasperで言及されているGroupManagerツールは、あなたが望むもののほとんどを達成するLotusScriptコードの良い例です。 Javaのオブジェクトは同じですが、構文はちょっと面倒です。 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"); 

あなたが必要とするすべてする必要があること:ここにブログの記事でこれを回答

/Newbs

3

使用このスニペット:ユーザーがグループのメンバーであるグループのメンバーである場合

XSPContext context = XSPContext.getXSPContext(FacesContext.getCurrentInstance()); 
DirectoryUser currentUser = context.getUser(); 
Vector<String> groups = new Vector(currentUser.getGroups()); 
関連する問題