1

こんにちは、以下の方法でドミノ デザイナーからユーザー名を取得すると、

    Session session = getSession();
    AgentContext agentContext = session.getAgentContext();
    String userName=session.getUsername(); 
    system.out.println("UserName="+uesrName);

「CN= example/OU= Server/O=company」の形式でユーザー名を取得していますが、example@abc.com のような通常の形式にしたいのですが、Java で取得する方法を教えてください。期待される形式でユーザー名を取得するための他のアプローチ.助けてください.いくつかの参照が提供されれば素晴らしいでしょう.

4

1 に答える 1

1

example@abc.com はユーザー名ではなく、電子メール アドレスです (サーバーが適切に構成されている場合、ユーザー名フィールドで Webservices / traveler / ldap などにログインするために使用できます)。

特定のユーザー名の電子メール アドレスを取得するにはさまざまな方法があります。最も簡単な方法は、Directory-Class とそのメソッド「lookupNames」を使用することです。

以下は、Designer ヘルプからの例です。

  Session session = getSession();
  AgentContext agentContext = session.getAgentContext();
  Directory dir = session.getDirectory("NameOfYourServer");
  String userName=session.getUsername(); 
  DirEntryCollection direc = dir.lookupNames("($Users)",userName,"email");
  DirEntry dirent = direc.getFirstEntry()
  while (dirent != null) {
    String name = dirent.getItemValue("InternetAddress");
    System.out.println(InternetAddress);
    dirent = direc.getNextEntry(); }

Designer のヘルプは、多くの場所 (Designer がインストールされている場合はローカルにインストールされます) またはここなどにあります。

于 2014-03-14T12:31:50.530 に答える