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

Xxy32111

Xxy32111

2016-02-19 20:50

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的教你轻松给流程增加权限控制程序懂设计的网友们快点来了解吧!
WF提供权限控制的功能,其中包括两种方式:ActiveDirectoryRole(通过活动目录用户)和WebWorkflowRole(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="ConsoleAppSample"
            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();  通过下面的代码把部门经理角色增加到流程角色列表:以下是引用片段:
              //装载部门经理角色
              WebWorkflowRole eaInitiatorsRole = new WebWorkflowRole("DeptManager");
          eaInitiators.Add(eaInitiatorsRole);   WF通过检查传入的登录名参数是否存在于流程角色列表的某个角色中来实现流程权限控制。 更多内容请看Windows权限设置专题,或
展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
教你轻松给流程增加权限控制程序

控制程序的流程

编程语言 网络编程
控制程序的流程

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Access使用宏控制程序

编程语言 网络编程
Access使用宏控制程序

两步制作音量控制程序

设计软件 平面设计软件 广告设计软件
两步制作音量控制程序

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用VC++实现控制程序运行唯一实例

编程语言 网络编程
用VC++实现控制程序运行唯一实例

用Java Swing作一个日历控制程序

编程语言 网络编程
用Java Swing作一个日历控制程序

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

低版本Office编辑Office2007文档的方法

低版本Office编辑Office2007文档的方法

嵌入式程序员应知道的几个基本问题

嵌入式程序员应知道的几个基本问题
下拉加载更多内容 ↓