ユーザーの追加

Directory Manager Service API(Java および web サービス)を使用すると、ユーザーをプログラムで AEM Forms に追加できます。ユーザーを追加した後、ユーザーを必要とするサービス操作を実行する際に、そのユーザーを使用できます。例えば、新しいユーザーにタスクを割り当てることができます。

手順の概要

ユーザーを追加するには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. DirectoryManagerService クライアントを作成します。
  3. ユーザー情報を定義します。
  4. AEM Forms にユーザーを追加します。
  5. ユーザーが追加されていることを確認します。

プロジェクトファイルを含める

開発プロジェクトに必要なファイルを含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、プロキシファイルを含めます。

DirectoryManagerService クライアントの作成

Directory Manager サービスの操作をプログラムで実行する前に、Directory Manager Service API クライアントを作成します。

ユーザー情報の定義

Directory Manager Service API を使用して新しいユーザーを追加する場合は、そのユーザーの情報を定義してください。通常、新しいユーザーを追加する場合、次の値を定義します。

  • ドメイン名:ユーザーが属するドメイン(例:DefaultDom)。
  • ユーザー識別情報の値:ユーザーの識別情報の値(例: wblue)。
  • プリンシパルタイプ:ユーザーのタイプ(例:USER))。
  • :ユーザーの名(例:Wendy)。
  • :ユーザーの姓(例:Blue)
  • ロケール:ユーザーのロケール情報。

AEM Forms へのユーザーの追加

ユーザー情報を定義した後、そのユーザーを AEM Forms に追加できます。ユーザーを追加するには、DirectoryManagerServiceClient オブジェクトの createLocalUser メソッドを呼び出してください。

ユーザーが追加されたことを確認

ユーザーが追加されたことを確認することにより、問題が発生しなかったことを確認できます。ユーザー識別情報の値を使用して、新しいユーザーを見つけます。

関連トピック

Java API を使用してユーザーを追加する

Web サービス API を使用してユーザーを追加する

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

ユーザーの削除

Java API を使用してユーザーを追加する

Directory Manager Service API(Java)を使用してユーザーを追加します。

  1. プロジェクトファイルを含めます。

    adobe-livecycle-client.jar などのクライアント JAR ファイルを Java プロジェクトのクラスパスに含めます。

  2. DirectoryManagerServices クライアントを作成します。

    コンストラクターを使用して接続プロパティを含む ServiceClientFactory オブジェクトを渡すことによって、DirectoryManagerServiceClient オブジェクトを作成します。

  3. ユーザー情報を定義します。

    • コンストラクターを使用して UserImpl オブジェクトを作成します。
    • UserImpl オブジェクトの setDomainName メソッドを呼び出して、ドメイン名を設定します。ドメイン名を指定する文字列値を渡します。
    • UserImpl オブジェクトの setPrincipalType メソッドを呼び出して、プリンシパルタイプを設定します。ユーザーのタイプを指定する文字列値を渡します。例えば、USER を指定できます。
    • UserImpl オブジェクトの setUserid メソッドを呼び出して、ユーザー ID の値を設定します。ユーザー識別子の値を指定する文字列値を渡します。例えば、wblue を指定できます。
    • UserImpl オブジェクトの setCanonicalName メソッドを呼び出して、正規名を設定します。ユーザーの正規名を指定する文字列値を渡します。例えば、wblue を指定できます。
    • UserImpl オブジェクトの setGivenName メソッドを呼び出して、名を設定します。ユーザーの名を指定する文字列値を渡します。例えば、Wendy を指定できます。
    • UserImpl オブジェクトの setFamilyName メソッドを呼び出して、姓を設定します。ユーザーの姓を指定する文字列値を渡します。例えば、Blue を指定できます。
    メモ
    UserImpl オブジェクトに属するメソッドを呼び出して他の値を設定します。例えば、UserImpl オブジェクトの setLocale メソッドを呼び出して、ロケール値を設定できます。
  4. AEM Forms にユーザーを追加します。

    DirectoryManagerServiceClient オブジェクトの createLocalUser メソッドを呼び出して、以下の値を渡します。

    • 新しいユーザーを表す UserImpl オブジェクト
    • ユーザーのパスワードを表す文字列値

    この createLocalUser メソッドは、ローカルユーザー ID の値を指定する文字列値を返します。

  5. ユーザーが追加されたことを確認します。

    • コンストラクターを使用して PrincipalSearchFilter オブジェクトを作成します。
    • PrincipalSearchFilter オブジェクトの setUserId メソッドを呼び出して、ユーザー ID の値を設定します。ユーザー ID の値を表す文字列値を渡します。
    • DirectoryManagerServiceClient オブジェクトの findPrincipals メソッドを呼び出し、PrincipalSearchFilter オブジェクトを渡しますこのメソッドは、 java.util.List インスタンス(各要素は User オブジェクト)を返します。java.util.List インスタンスを繰り返し、ユーザーを特定します。

Web サービス API を使用してユーザーを追加する

Directory Manager サービス API(web サービス)を使用してユーザーを追加します。

  1. プロジェクトファイルを含めます。

    MTOM を使用する Microsoft .NET プロジェクトを作成します。サービス参照に WSDL 定義 http://localhost:8080/soap/services/DirectoryManagerService?WSDL&lc_version=9.0.1 を使用していることを確認してください。

    メモ
    localhost を、AEM Forms をホストするサーバーの IP アドレスで置換します。
  2. DirectoryManagerService クライアントを作成します。

    • デフォルトのコンストラクターを使用して DirectoryManagerServiceClient オブジェクトを作成します。

    • System.ServiceModel.EndpointAddress コンストラクタを使用して DirectoryManagerServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を 指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/DirectoryManagerService?blob=mtom)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。?blob=mtom を指定するようにしてください。

    • DirectoryManagerServiceClient.Endpoint.Binding フィールドの値を取得して、System.ServiceModel.BasicHttpBinding オブジェクトを作成します。戻り値を BasicHttpBinding にキャストします。

    • System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding フィールドを WSMessageEncoding.Mtom に設定します。この値により、MTOM が確実に使用されます。

    • 次のタスクを実行して、HTTP 基本認証を有効にします。

      • DirectoryManagerServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を DirectoryManagerServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
      • 定数値 BasicHttpSecurityMode.TransportCredentialOnly をフィールド BasicHttpBindingSecurity.Security.Mode に割り当てます。
  3. ユーザー情報を定義します。

    • コンストラクターを使用して UserImpl オブジェクトを作成します。
    • デフォルト名を設定するには、UserImpl オブジェクトの domainName フィールドに文字列値を割り当てます。
    • プリンシパルタイプを設定するには、UserImpl オブジェクトの principalType フィールドに文字列値を割り当てます。例えば、USER を指定できます。
    • ユーザー ID の値を設定するには、UserImpl オブジェクトの userid フィールドに文字列値を割り当てます。
    • 正規名の値を設定するには、UserImpl オブジェクトの canonicalName フィールドに文字列値を割り当てます。
    • 指定された名前の値を設定するには、UserImpl オブジェクトの givenName フィールドに文字列値を割り当てます。
    • 姓の値を設定するには、UserImpl オブジェクトの familyName フィールドに文字列値を割り当てます。
  4. AEM Forms にユーザーを追加します。

    DirectoryManagerServiceClient オブジェクトの createLocalUser メソッドを呼び出して、以下の値を渡します。

    • 新しいユーザーを表す UserImpl オブジェクト
    • ユーザーのパスワードを表す文字列値

    この createLocalUser メソッドは、ローカルユーザー ID の値を指定する文字列値を返します。

  5. ユーザーが追加されたことを確認します。

    • コンストラクターを使用して PrincipalSearchFilter オブジェクトを作成します。
    • ユーザー ID の値を設定するには、PrincipalSearchFilter オブジェクトの userId フィールドにユーザー ID の値を表す文字列値を割り当てます。
    • DirectoryManagerServiceClient オブジェクトの findPrincipals メソッドを呼び出し、PrincipalSearchFilter オブジェクトを渡しますこのメソッドは、MyArrayOfUser コレクションオブジェクト(各要素は User オブジェクト)を返します。MyArrayOfUser コレクションを反復処理して、ユーザーを特定します。

ユーザーの削除

Directory Manager Service API(Java および web サービス)を使用して、AEM Forms からユーザーをプログラムで削除できます。ユーザーを削除すると、そのユーザーはユーザーを必要とするサービス操作を実行できなくなります。例えば、削除されたユーザーにタスクを割り当てることはできません。

手順の概要

ユーザーを削除するには、以下の手順に従います。

  1. プロジェクトファイルを含めます。
  2. DirectoryManagerService クライアントを作成します。
  3. 削除するユーザーを指定します。
  4. AEM Forms からユーザーを削除します。

プロジェクトファイルを含める

開発プロジェクトに必要なファイルを含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、プロキシファイルを含めます。

DirectoryManagerService クライアントの作成

Directory Manager Service API 操作をプログラムで実行する前に、Directory Manager サービスクライアントを作成します。

削除するユーザーの指定

ユーザー ID の値を使用して、削除するユーザーを指定できます。

AEM Forms からユーザーを削除

ユーザーを削除するには、DirectoryManagerServiceClient オブジェクトの deleteLocalUser メソッドを呼び出します。

関連トピック

Java API を使用したユーザーの削除

Web サービス API を使用したユーザーの削除

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

ユーザーの追加

Java API を使用したユーザーの削除

Directory Manager Service API(Java)を使用してユーザーを削除します。

  1. プロジェクトファイルを含めます。

    adobe-livecycle-client.jar などのクライアント JAR ファイルを Java プロジェクトのクラスパスに含めます。

  2. DirectoryManagerService クライアントを作成します。

    コンストラクタを使用し、接続プロパティを含む ServiceClientFactory オブジェクトを渡すことで、DirectoryManagerServiceClient オブジェクトを作成します。

  3. 削除するユーザーを指定します。

    • コンストラクタを使用して PrincipalSearchFilter オブジェクトを作成します。
    • PrincipalSearchFilter オブジェクトの setUserId メソッドを呼び出して、ユーザー ID の値を設定します。ユーザー ID の値を表す文字列値を渡します。
    • DirectoryManagerServiceClient オブジェクトの findPrincipals メソッドを呼び出し、PrincipalSearchFilter オブジェクトを渡しますこのメソッドは、java.util.List インスタンスを返します。このインスタンスの各要素は User オブジェクトです。java.util.List インスタンスを繰り返し、削除するユーザーを特定します。
  4. AEM Forms からユーザーを削除します。

    DirectoryManagerServiceClient オブジェクトの deleteLocalUser メソッドを呼び出して、User オブジェクトの oid フィールドの値を渡します。User オブジェクトの getOid メソッドを呼び出します。java.util.List インスタンスから取得した User オブジェクトを使用します。

Web サービス API を使用したユーザーの削除

Directory Manager Service API(web サービス)を使用してユーザーを削除します。

  1. プロジェクトファイルを含めます。

    adobe-livecycle-client.jar などのクライアント JAR ファイルを Java プロジェクトのクラスパスに含めます。

  2. DirectoryManagerService クライアントを作成します。

    • デフォルトのコンストラクターを使用して DirectoryManagerServiceClient オブジェクトを作成します。

    • System.ServiceModel.EndpointAddress コンストラクタを使用して DirectoryManagerServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を 指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/DirectoryManagerService?blob=mtom)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。blob=mtom. を指定してください

    • DirectoryManagerServiceClient.Endpoint.Binding フィールドの値を取得して、System.ServiceModel.BasicHttpBinding オブジェクトを作成します。戻り値を BasicHttpBinding にキャストします。

    • System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding フィールドを WSMessageEncoding.Mtom に設定します。この値により、MTOM が確実に使用されます。

    • 次のタスクを実行して、HTTP 基本認証を有効にします。

      • DirectoryManagerServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を DirectoryManagerServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
      • 定数値 BasicHttpSecurityMode.TransportCredentialOnly をフィールド BasicHttpBindingSecurity.Security.Mode に割り当てます。
  3. 削除するユーザーを指定します。

    • コンストラクタを使用して PrincipalSearchFilter オブジェクトを作成します。
    • ユーザー ID の値を設定するには、PrincipalSearchFilter オブジェクトの userId フィールドに文字列値を入力します。
    • DirectoryManagerServiceClient オブジェクトの findPrincipals メソッドを呼び出し、PrincipalSearchFilter オブジェクトを渡しますこのメソッドは、MyArrayOfUser コレクションオブジェクト(各要素は User オブジェクト)を返します。MyArrayOfUser コレクションを反復処理して、ユーザーを特定します。MyArrayOfUser コレクションオブジェクトから取得した User オブジェクトは、ユーザーの削除に使用されます。
  4. AEM Forms からユーザーを削除します。

    ユーザーを削除するには、User オブジェクトの oid フィールド値を DirectoryManagerServiceClient オブジェクトの deleteLocalUser メソッドに渡します。

グループの作成

Directory Manager Service API(Java および web サービス)を使用して、プログラムによって AEM Forms グループを作成できます。グループを作成したらそのグループを使用して、グループを必要とするサービス操作を実行できます。例えば、ユーザーを新規グループに割り当てることができます(ユーザーとグループの管理を参照)。

手順の概要

グループを作成するには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. DirectoryManagerService クライアントを作成します。
  3. グループが存在しないことを確認します。
  4. グループを作成します。
  5. グループでアクションを実行します。

プロジェクトファイルを含める

開発プロジェクトに必要なファイルを含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。

次の JAR ファイルをプロジェクトのクラスパスに追加する必要があります。

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-utilities.jar(AEM Forms を JBoss にデプロイする場合に必要)
  • jbossall-client.jar(AEM Forms が JBoss にデプロイされている場合に必要)

これらのファイルの場所については、AEM Forms Java ライブラリファイルを含めるを参照してください。

DirectoryManagerService クライアントの作成

Directory Manager サービスの操作をプログラムで実行する前に、Directory Manager Service API クライアントを作成します。

グループが存在するかどうかを判断する

グループを作成する場合は、そのグループが同じドメインに存在しないことを確認します。つまり、2 つのグループが同じドメイン内で同じ名前を持つことはできません。このタスクを実行するには、検索を実行し、2 つの値に基づいて検索結果をフィルタリングします。プリンシパルタイプを com.adobe.idp.um.api.infomodel.Principal.PRINCIPALTYPE_GROUP に設定して、グループのみが返されるようにします。また、ドメイン名を必ず指定してください。

グループの作成

ドメインにグループが存在しないと判断したら、グループを作成し、次の属性を指定します。

  • CommonName:グループの名前。
  • ドメイン:グループを追加するドメイン。
  • 説明:グループの説明

グループでのアクションの実行

グループを作成した後、そのグループを使用してアクションを実行できます。例えば、グループにユーザーを追加できます。グループにユーザーを追加するには、ユーザーとグループの両方で一意の ID 値を取得します。これらの値を addPrincipalToLocalGroup メソッドに渡します。

関連トピック

Java API を使用したグループの作成

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

ユーザーの追加

ユーザーの削除

Java API を使用したグループの作成

Directory Manager Service API(Java)を使用してグループを作成します。

  1. プロジェクトファイルを含めます。

    adobe-livecycle-client.jar などのクライアント JAR ファイルを Java プロジェクトのクラスパスに含めます。

  2. DirectoryManagerService クライアントを作成します。

    コンストラクターを使用して接続プロパティを含む ServiceClientFactory オブジェクトを渡して、DirectoryManagerServiceClient オブジェクトを作成します。

  3. グループが存在するかどうかを確認します。

    • コンストラクターを使用して PrincipalSearchFilter オブジェクトを作成します。
    • PrincipalSearchFilter オブジェクトの setPrincipalType オブジェクトを呼び出して、プリンシパルタイプを設定します。値 com.adobe.idp.um.api.infomodel.Principal.PRINCIPALTYPE_GROUP を渡します。
    • PrincipalSearchFilter オブジェクトの setSpecificDomainName オブジェクトを呼び出してドメインを設定します。ドメイン名を指定する文字列値を渡します。
    • グループを検索するには、DirectoryManagerServiceClient オブジェクトの findPrincipals メソッド(プリンシパルはグループにすることができます)を呼び出します。プリンシパルタイプとドメイン名を指定する PrincipalSearchFilter オブジェクトを渡します。このメソッドは、各要素が Group インスタンスである java.util.List インスタンスを返します。各グループインスタンスは、PrincipalSearchFilter オブジェクトを使用して指定されたフィルターに準拠しています。
    • java.util.List インスタンスを反復処理します。各要素について、グループ名を取得します。グループ名が新しいグループ名と等しくないことを確認します。
  4. グループを作成します。

    • グループが存在しない場合は、Group オブジェクトの setCommonName メソッドを呼び出して、グループ名を指定する文字列値を渡します。
    • Group オブジェクトの setDescription メソッドを呼び出して、グループの説明を指定する文字列値を渡します。
    • Group オブジェクトの setDomainName メソッドを呼び出して、ドメイン名を指定する文字列値を渡します。
    • DirectoryManagerServiceClient オブジェクトの createLocalGroup メソッドを呼び出して、Group インスタンスを渡します。

    createLocalUser メソッドは、ローカルユーザー ID の値を指定する文字列値を返します。

  5. グループでアクションを実行します。

    • コンストラクターを使用して PrincipalSearchFilter オブジェクトを作成します。
    • PrincipalSearchFilter オブジェクトの setUserId メソッドを呼び出して、ユーザー ID の値を設定します。ユーザー ID の値を表す文字列値を渡します。
    • DirectoryManagerServiceClient オブジェクトの findPrincipals メソッドを呼び出し、PrincipalSearchFilter オブジェクトを渡しますこのメソッドは、 java.util.List インスタンス(各要素は User オブジェクト)を返します。java.util.List インスタンスを反復処理して、ユーザーを特定します。
    • DirectoryManagerServiceClient オブジェクトの addPrincipalToLocalGroup メソッドを呼び出して、グループにユーザーを追加します。User オブジェクトの getOid メソッドの戻り値を渡します。Group オブジェクトの getOid メソッドの戻り値を渡します(新しいグループを表す Group インスタンスを使用)。

ユーザーとグループの管理

このトピックでは、(Java)を使用して、ドメイン、ユーザー、グループをプログラムで割り当て、削除およびクエリする方法について説明します。

メモ
ドメインを設定する際は、グループとユーザーに一意の識別子を設定する必要があります。選択する属性は、LDAP 環境内で一意である必要があるだけでなく、不変である必要があり、ディレクトリ内では変更されません。この属性は、単純な文字列データタイプである必要があります(現在、Active Directory 2000/2003で許可されている唯一の例外は "objectsid" です。これはバイナリ値です)。例えば、Novell eDirectory 属性 "GUID" は単純な文字列データタイプではないので、機能しません。
  • Active Directory の場合は、"objectsid" を使用します。
  • SunOne の場合は、"nsuniqueid" を使用します。
メモ
LDAP ディレクトリ同期を実行中に複数のローカルユーザーおよびグループを作成することはできません。この処理を試みると、エラーが発生します。

手順の概要

ユーザーとグループを管理するには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. DirectoryManagerService クライアントを作成します。
  3. 適切なユーザーまたはグループの操作を呼び出します。

プロジェクトファイルを含める

開発プロジェクトに必要なファイルを含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、プロキシファイルを必ず含めるようにします。

DirectoryManagerService クライアントの作成

Directory Manager サービスの操作をプログラムで実行する前に、Directory Manager サービスクライアントを作成する必要があります。Java API では、これは DirectoryManagerServiceClient オブジェクトを作成することによって実現できます。Web サービス API では、これは DirectoryManagerServiceService オブジェクトを作成することによって実現できます。

適切なユーザーまたはグループの操作を呼び出す

サービスクライアントを作成したら、ユーザーまたはグループの管理操作を呼び出すことができます。サービスクライアントでは、ドメイン、ユーザー、グループの割り当て、削除、問い合わせを行うことができます。ディレクトリプリンシパルまたはローカルプリンシパルをローカルグループに追加することは可能ですが、ローカルプリンシパルをディレクトリグループに追加することはできません。

関連項目

Java API を使用したユーザーとグループの管理

Web サービス API を使用したユーザーとグループの管理

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

User Manager API クイックスタート

Java API を使用したユーザーとグループの管理

(Java)を使用してユーザー、グループ、ドメインをプログラムで管理するには、次のタスクを実行します。

  1. プロジェクトファイルを含めます。

    adobe-livecycle-client.jar などのクライアント JAR ファイルを Java プロジェクトのクラスパスに含めます。これらのファイルの場所については、AEM Forms Java ライブラリファイルを含めるを参照してください。

  2. DirectoryManagerService クライアントを作成します。

    コンストラクターを使用して、接続プロパティを含む ServiceClientFactory オブジェクトを渡すことによって、DirectoryManagerServiceClient オブジェクトを作成します。詳しくは、接続プロパティの設定​を参照してください。

  3. 適切なユーザーまたはグループの操作を呼び出します。

    ユーザーまたはグループを検索するには、プリンシパルを検索する DirectoryManagerServiceClient オブジェクトのメソッドのいずれかを呼び出します(プリンシパルはユーザーまたはグループにすることができるためです)。次の例では、findPrincipals メソッドは、検索フィルター(PrincipalSearchFilter オブジェクト)を使用して呼び出されています。

    この場合の戻り値は Principal オブジェクトを含む java.util.List であるため、結果を反復処理し、Principalオブジェクトを User オブジェクトまたは Group オブジェクトにキャストします。

    結果の User オブジェクトまたは Group オブジェクト(両方とも Principal インターフェイスから継承)を使用して、ワークフローで必要な情報を取得します。例えば、ドメイン名と正規名の値を組み合わせて、プリンシパルを一意に識別します。これらはそれぞれ Principal オブジェクトの getDomainName メソッドおよび getCanonicalName メソッドを呼び出して取得されます。

    ローカルユーザーを削除するには、DirectoryManagerServiceClient オブジェクトの deleteLocalUser メソッドを呼び出してユーザーの識別情報を渡します。

    ローカルグループを削除するには、DirectoryManagerServiceClient オブジェクトの deleteLocalGroup メソッドを呼び出してグループの識別情報を渡します。

Web サービス API を使用したユーザーとグループの管理

Directory Manager Service API(web サービス)を使用してユーザー、グループ、ドメインをプログラムで管理するには、次のタスクを実行します。

  1. プロジェクトファイルを含めます。

  2. DirectoryManagerService クライアントを作成します。

    プロキシクラスのコンストラクターを使用して、DirectoryManagerServiceService オブジェクトを作成します。

  3. 適切なユーザーまたはグループの操作を呼び出します。

    ユーザーまたはグループを検索するには、プリンシパルを検索する DirectoryManagerServiceService オブジェクトのメソッドのいずれかを呼び出します(プリンシパルはユーザーまたはグループにすることができるためです)。次の例では、findPrincipalsWithFilter メソッドは、検索フィルター(PrincipalSearchFilter オブジェクト)を使用して呼び出されます。PrincipalSearchFilter オブジェクトを使用する場合、ローカルプリンシパルは、isLocal プロパティが true に設定されている場合のみに返されます。この動作は、Java API で発生する動作とは異なります。

    メモ
    検索フィルターで結果の最大数が PrincipalSearchFilter.resultsMax フィールドを介して指定されていない場合、最大 1000 個の結果が返されます。これは、Java API を使用して発生する動作とは異なります。Java API では、結果の数はデフォルトで最大 10 個です。また、findGroupMembers などの検索メソッドでは、検索フィルターで(たとえば、GroupMembershipSearchFilter.resultsMax フィールドで)結果の最大数が指定されていない場合、結果は得られません。これは、GenericSearchFilter クラスから継承されるすべての検索フィルターに適用されます。詳しくは、「AEM Forms API リフェレンス」を参照してください。

    この場合の戻り値は Principal オブジェクトを含む object[] であるため、結果を反復処理して Principal オブジェクトを User または Group オブジェクトにキャストします。

    結果の User オブジェクトまたは Group オブジェクト(両方とも Principal インターフェイス から継承)を使用して、ワークフローで必要な情報を取得します。例えば、ドメイン名と正規名の値を組み合わせて、プリンシパルを一意に識別します。これらはそれぞれ、Principal オブジェクトの domainName フィールドおよび canonicalName フィールドを呼び出すことによって設定されます。

    ローカルユーザーを削除するには、DirectoryManagerServiceService オブジェクトの deleteLocalUser メソッドを呼び出してユーザーの識別情報を渡します。

    ローカルグループを削除するには、DirectoryManagerServiceService オブジェクトの deleteLocalGroup メソッドを呼び出してグループの識別情報を渡します。

役割と権限の管理

このトピックでは、Authorization Manager Service API(Java)を使用して、役割と権限をプログラムで割り当て、削除、決定する方法について説明します。

AEM Forms では、役割 ​とは、1 つまたは複数のシステムレベルのリソースにアクセスするための権限のグループです。これらの権限はユーザー管理を通じて作成され、サービスコンポーネントによって適用されます。例えば、管理者は「ポリシーセット作成者」の役割をユーザーのグループに割り当てることができます。Rights Management は、その役割を持つグループのユーザーに対し、管理コンソールを通じてポリシーセットを作成することを許可します。

役割には、デフォルトロール ​および​ カスタムロール ​の 2 つのタイプがあります。デフォルトロール(システムロール)は既に AEM Forms に存在します。デフォルトロールは管理者が削除または変更できないと想定するものであり、不変です。カスタムロールは管理者が作成するものであり、作成後、変更または削除できるので、可変です。

役割を使用すると、権限の管理が容易になります。役割がプリンシパルに割り当てられると、そのプリンシパルに一連の権限が自動的に割り当てられ、プリンシパルに関する特定のアクセス関連の決定はすべて、割り当てられた権限の全体セットに基づいて行われます。

手順の概要

役割と権限を管理するには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. AuthorizationManagerService クライアントを作成します。
  3. 適切な役割または権限の操作を呼び出します。

プロジェクトファイルを含める

開発プロジェクトに必要なファイルを含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、プロキシファイルを必ず含めるようにします。

AuthorizationManagerService クライアントの作成

User Management AuthorizationManagerService 操作をプログラムで実行する前に、AuthorizationManagerService クライアントを作成する必要があります。Java API では、これは AuthorizationManagerServiceClient オブジェクトを作成することによって実現できます。

適切な役割または権限の操作を呼び出す

サービスクライアントを作成したら、役割または権限の操作を呼び出すことができます。サービスクライアントを使用すると、役割と権限の割り当て、削除、決定を行うことができます。

関連項目

Java API を使用した役割と権限の管理

Web サービス API を使用した役割と権限の管理

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

User Manager API クイックスタート

Java API を使用した役割と権限の管理

Authorization Manager Service API(Java)を使用して役割と権限を管理するには、次のタスクを実行します。

  1. プロジェクトファイルを含めます。

    adobe-livecycle-client.jar などのクライアント JAR ファイルを Java プロジェクトのクラスパスに含めます。

  2. AuthorizationManagerService クライアントを作成します。

    コンストラクターを使用し、接続プロパティを含む ServiceClientFactory オブジェクトを渡すことにより、AuthorizationManagerServiceClient オブジェクトを作成します。

  3. 適切な役割または権限の操作を呼び出します。

    プリンシパルに役割を割り当てるには、AuthorizationManagerServiceClient オブジェクトの assignRole メソッドを呼び出して、次の値を渡します。

    • 役割識別情報を含む java.lang.String オブジェクト
    • プリンシパル識別情報を含む java.lang.String オブジェクトの配列。

    プリンシパルから役割を削除するには、AuthorizationManagerServiceClient オブジェクトの unassignRole メソッドを呼び出して、次の値を渡します。

    • 役割識別情報を含む java.lang.String オブジェクト。
    • プリンシパル識別情報を含む java.lang.String オブジェクトの配列。