1

XPageをエージェント(XAgent)として使用しており、Javaデザイン要素として格納されているいくつかのJavaクラスにSSJS呼び出しを行います。XPageによって引き起こされるプロセスを、現在ブラウザにサインインしているユーザーのコンテキストに含める必要があります。しかし、すべてが私のように実行されているようですが、XPageの最後の署名に基づいていると思いますか?

たとえば、私のカスタムクラスでは、ユーザーの名前を返す必要があるときに、次の名前が私の名前を返します。

DominoUtils.getCurrentSession().getEffectiveUserName()

古い学校のDominoエージェントを使用する場合、有効なユーザー名は、エージェントのプロパティの[Webユーザーとして実行]または[代理で実行]フィールドによって決定されます。

XPageを使用するときに同じ機能を実現することは可能ですか?

4

2 に答える 2

2

調査するには、いくつかの可動部品があります。

  1. XAgent(Javaコードではない)に、session.getUserName()およびsession.getEffectiveUsername()を使用してprintステートメントを追加します。
  2. sessionAsSignerが隠されているかどうかDominoUtilsを確認してください
  3. 1が機能するが、3が機能しない場合は、依存性注入を検討してください。DominoUtilsからセッションを取得する代わりに、XAgentからJavaクラスにパラメーターとして渡します。

どうなるか教えてください

于 2013-02-13T00:34:39.160 に答える
0

私のシナリオでは、次のいずれかでほとんどの要件を解決できました。

session.getEffectiveUserName()

また:

context.getUser().getFullName()

これを次のようにカプセル化する必要がある状況があります。

session.createName(string):NotesName

NotesName-Object表現を取得します。

于 2013-02-12T15:15:38.793 に答える