![]() ![]() |
|
教你轻松给流程增加权限控制程序 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:39:33 文章录入:杜斌 责任编辑:杜斌 | |
|
|
以下是引用片段: 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通过检查传入的登录名参数是否存在于流程角色列表的某个角色中来实现流程权限控制。 |
|
![]() ![]() |