教你轻松给流程增加权限控制程序
人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的教你轻松给流程增加权限控制程序懂设计的网友们快点来了解吧!
?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权限设置专题,或