教您轻松给流程增加权限控制程式
2008-02-23 05:39:27来源:互联网 阅读 ()
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=localhost\SQLExpress;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); |
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: 写好C程式的10条秘籍
下一篇: 复杂表达式的执行步骤
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash