現在、ユーザー(必須ではないが現在のユーザー)がメンバーであるリスト・グループを取り出すために、Javaメソッド(一部およびXPages管理Beanの一部)を作成しています。定義されたユーザーのすべてのグループを決定します。
この情報を簡単に調べる方法はありますか、またはすべてのグループをループしてユーザーをチェックし、それらのグループが他のグループのサブグループであるかどうかを確認する必要がありますか?
現在、ユーザー(必須ではないが現在のユーザー)がメンバーであるリスト・グループを取り出すために、Javaメソッド(一部およびXPages管理Beanの一部)を作成しています。定義されたユーザーのすべてのグループを決定します。
この情報を簡単に調べる方法はありますか、またはすべてのグループをループしてユーザーをチェックし、それらのグループが他のグループのサブグループであるかどうかを確認する必要がありますか?
。
この情報は、ユーザー名で分類された($ServerAccess)
ビューのnames.nsfから取得できます。
$ ServerAccessは表示されません。したがって、必要に応じて扱いにくくなる可能性があります。 $ ServerAccessから始め、そこから作業します。循環参照を持つ警告グループ – stwissel
session.evaluate( "@UserNamesList");
これは現在のユーザーに対してのみ機能します。私の理解が間違っていない限り、私の要件を満たしません。 – JMCooper
それは正しいです..私はかっこを読み取っていません.. –
ここでロータススクリプトを使用できるかどうかはわかりませんが、article (IBM DeveloperWorks, look at the 4th paragraph)はすばらしいスタートです。 NotesGroupManagerクラスとNotesGroupクラスについて言及しています。これらのクラスは、XPage用のコードを書き換えるための基礎として使用できます。ユーザーが所属するすべてのグループを見つけるための他の「簡単な」方法はないようです。質問へのまっすぐな答えはNOと思われる。
サーバー上のすべてのディレクトリのすべてのグループをループするのではなく、グループメンバーによって編成された各ディレクターで特別なビューを作成することをお勧めします。それにより、マッチの発見がずっと速くなります。
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
使用このスニペット:ユーザーがグループのメンバーであるグループのメンバーである場合
XSPContext context = XSPContext.getXSPContext(FacesContext.getCurrentInstance());
DirectoryUser currentUser = context.getUser();
Vector<String> groups = new Vector(currentUser.getGroups());
ブログに記載されていますが、誰もそれをチェックしません。 "lotus.notes.addins。*"は文書化されていないAPIなので、それ以降のリリースでは動作する(または利用可能である)という保証はありません。したがって、自己責任で使用してください。 –
この優れた感謝を使いました!!!!!! – JMCooper