“使用 Active Directory 角色”示例

Download sample

此示例演示如何在工作流中使用 Active Directory 角色。

下面是一个高级方案:

  1. 名为 PurchaseOrderWorkflow 的工作流已实例化。

  2. 能够启动 PurchaseOrderWorkflow 的雇员被限制为 ActiveDirectoryRole 对象指定的人员,该对象是在 SetupRoles CodeActivity 活动中创建的。

  3. HandleExternalEventActivity 活动使用 IStartPurchaseOrder 接口中定义的 InitiatePurchaseOrder 事件来调用采购订单请求。 只有当启动者是已配置 ActiveDirectoryRole 的成员时,HandleExternalEventActivity 活动才会启动采购订单。 已假定启动者(雇员)是运行工作流示例的人员。

提示

将使用宿主环境的域中的 Active Directory 组对 HandleExternalEventActivity 进行基于角色的检查。 如果将 Active Directory 部署在 NT 域中,或将 Active Directory 应用程序模式 (ADAM) 部署在本地计算机上,则支持 Active Directory 组。 必须要有 AD 或 ADAM 部署,此示例才能按预期方式工作。

设置、生成和运行示例

  1. 通过单击**“下载示例”**来下载该示例。

    这会将示例项目提取到本地硬盘。

  2. 打开 ActiveDirectoryRoles.sln,并按如下方式修改 PurchaseOrderWorkflow.cs 文件:

    • 更改以下参数以反映您想要依据其检查已登录用户的实际 Active Directory 组。

      C#:
      ActiveDirectoryRole poInitiatorsRole = ActiveDirectoryRoleFactory.CreateFromAlias("ADGroup");
      Visual Basic:
      Dim poInitiatorsRole As ActiveDirectoryRole = ActiveDirectoryRoleFactory.CreateFromAlias("ADGroup")
      

    提示

    确保已登录用户是此 Active Directory 组的成员

  3. 单击**“开始”,依次指向“程序”“Microsoft Windows SDK”,然后单击“CMD 外壳”[CMD Shell]**。

  4. 转到示例的源目录。

  5. 在命令提示符处键入 MSBUILD <解决方案文件名>

  6. 运行 PurchaseOrderWorkflow\bin\debug 文件夹(对于该示例的 VB 版本为 PurchaseOrderWorkflow\bin 文件夹)中的 .exe 文件,该文件夹位于示例的源文件夹下。

    如果角色检查成功,示例的输出将类似于下面这样:

    Purchase Order initiated by: <DOMAIN>\<username>
    PO Initiated successfully
    Workflow has completed.
    

有关 Active Directory 的更多信息,请参见目录和身份服务(可能为英文网页)。

请参见

参考

ActiveDirectoryRole
HandleExternalEventActivity
Roles

其他资源

Using Roles in Workflows

Footer image

版权所有 (C) 2007 Microsoft Corporation。保留所有权利。