Active Directory ロールの使用のサンプル
このサンプルは、ワークフローで Active Directory ロールを使用する方法を示します。
大まかなシナリオは次のとおりです。
PurchaseOrderWorkflow という名前のワークフローがインスタンス化されます。
PurchaseOrderWorkflow を開始できる社員は、SetupRoles CodeActivity アクティビティ内に作成された ActiveDirectoryRole オブジェクトに指定されている従業員だけです。
HandleExternalEventActivity アクティビティは、IStartPurchaseOrder インターフェイスに定義されている InitiatePurchaseOrder イベントを使用して、発注書の要求を呼び出します。HandleExternalEventActivity アクティビティは、イニシエータが構成済み ActiveDirectoryRole のメンバである場合にのみ発注書を開始できます。イニシエータ (社員) ID は、ワークフロー サンプルを実行しているユーザーの ID であるとします。
メモ : |
---|
HandleExternalEventActivity に対するロール ベースのチェックは、ホスト環境のドメイン内にある Active Directory グループを使用して行われます。Active Directory グループをサポートするには、NT ドメインに Active Directory を展開するか、ローカル コンピュータに Active Directory Application Mode (ADAM) を展開する必要があります。そのため、このサンプルを意図したとおりに動作させるには、AD または ADAM を展開する必要があります。 |
サンプルを設定、ビルド、および実行するには
[サンプルのダウンロード] をクリックしてサンプルをダウンロードします。
サンプル プロジェクトがローカル コンピュータのハード ディスクにダウンロードされます。
ActiveDirectoryRoles.sln を開いて、次のように PurchaseOrderWorkflow.cs ファイルを変更します。
次のパラメータを変更して、ログインしているユーザーを確認するための実際の Active Directory グループを反映させます。
C#: ActiveDirectoryRole poInitiatorsRole = ActiveDirectoryRoleFactory.CreateFromAlias("ADGroup"); Visual Basic: Dim poInitiatorsRole As ActiveDirectoryRole = ActiveDirectoryRoleFactory.CreateFromAlias("ADGroup")
メモ : ログインしているユーザーがこの Active Directory グループのメンバであるようにしてください。
[スタート] ボタンをクリックし、[すべてのプログラム] をポイントします。次に、[Microsoft Windows SDK] をポイントし、[CMD シェル] をクリックします。
サンプルのソース ディレクトリに移動します。
コマンド プロンプトで、「MSBUILD <ソリューション ファイル名>」と入力します。
PurchaseOrderWorkflow\bin\debug フォルダ (このサンプルの VB バージョンでは PurchaseOrderWorkflow\bin フォルダ) にある .exe ファイルを実行します (このサンプルでは、ソース フォルダの下にあります)。
ロールのチェックが成功すると、サンプルからの出力は次のようになります。
Purchase Order initiated by: <DOMAIN>\<username> PO Initiated successfully Workflow has completed.
Active Directory の詳細については「ディレクトリおよび ID サービス」を参照してください。
関連項目
参照
ActiveDirectoryRole
HandleExternalEventActivity
Roles
その他の技術情報
Copyright © 2007 by Microsoft Corporation.All rights reserved.