dongxiaoling1029

导航

“使用 Active Directory 角色”示例

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

下面是一个高级方案:

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

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

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

Note注意:

将使用宿主环境的域中的 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")
      
    Note注意:

    确保已登录用户是此 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.
    

posted on 2012-05-30 21:49  dongxiaoling1029  阅读(176)  评论(0编辑  收藏  举报