教你轻松给流程增加权限控制程序

时间:2010-05-07 12:20:20  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:p.config文件配置如下:以下是引用片段:<?xmlversion="1.0"e...
  正文:

  WF提供权限控制的功能,其中包括两种方式:ActiveDirectoryRole(通过活动目录用户)和WebWorkflowRole(ASP/ target=_blank class=infotextkey>asp.NET Role)。下面我以WebWorkflowRole的方式作为权限控制例子做介绍,首先需要安装aspnetdb数据库(通过运行微软提供的aspnet_regsql.exe文件);App.config文件配置如下:

以下是引用片段:
<?xmlversion="1.0"encoding="utf-8" ?>
<configuration>
 <connectionStrings>
  <addname="SqlServerConnection"
     connectionString="Integrated Security = SSPI;server=localhostSQLExpress;database=aspnetdb" />
 </connectionStrings>
 <system.web>
  <roleManagerenabled="true"defaultProvider="SqlProvider">
   <providers>
    <addname="SqlProvider"connectionStringName="SqlServerConnection"applicationName="ConsoleApphotoshop/ target=_blank class=infotextkey>psample"
     type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   </providers>
  </roleManager>
 </system.web>
</configuration>
   通过下面的代码产生角色: 
以下是引用片段:
    ///<summary>
    ///产生角色
    ///</summary>
    private void CreateRoles()
    {
      if (!System.Web.Security.Roles.RoleExists("Personnel"))
      {
        System.Web.Security.Roles.CreateRole("Personnel");

        string[] users = { "Amanda", "Jones", "Simpson", "Peter" };
        string[] PersonnelRole = { "Personnel" };

        System.Web.Security.Roles.AddUsersToRoles(users, PersonnelRole);
      }

      if (!System.Web.Security.Roles.RoleExists("DeptManager"))
      {
        System.Web.Security.Roles.CreateRole("DeptManager");

        string[] users1 = { "Betty", "Chris", "Anil", "Derek" };
        string[] DeptManagerRole = { "DeptManager" };

        System.Web.Security.Roles.AddUsersToRoles(users1, DeptManagerRole);
      }      
    }

  假如用登录用户"Betty"为部门经理角色,通过下面的代码可以把登录用户和权限控制相结合:GenericIdentity genIdentity = new GenericIdentity("Betty ");通过调用外部事件Activity的方法把genIdentity作为事件的参数传入流程中。

  在流程定义的文件中(Workflow1.cs)定义公共变量:

以下是引用片段:
public WorkflowRoleCollection eaInitiators = new System.Workflow.Activities.WorkflowRoleCollection();

  通过下面的代码把部门经理角色增加到流程角色列表:


教你轻松给流程增加权限控制程序》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Language/VC/2010-05-07/13891.html


关键字:

关于《教你轻松给流程增加权限控制程序》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td