您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> C十十 >> 辅导 >> 正文    
  教你轻松给流程增加权限控制程序 【注册男护士专用博客】          

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

www.nanhushi.com     佚名   不详 

  WF提供权限控制的功能,其中包括两种方式:ActiveDirectoryRole(通过活动目录用户)和WebWorkflowRole(ASP.NET  Role)。下面我以WebWorkflowRole的方式作为权限控制例子做介绍,首先需要安装aspnetdb数据库(通过运行微软提供的aspnet_regsql.exe文件);App.config文件配置如下:
以下是引用片段: 
            connectionString="Integrated Security = SSPI;server=localhost\SQLExpress;database=aspnetdb" />  
                  type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />  
        
  通过下面的代码产生角色:
 
以下是引用片段:
        /// 
        ///产生角色 
        /// 
        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通过检查传入的登录名参数是否存在于流程角色列表的某个角色中来实现流程权限控制。

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目