WEB开发网      婵犵數濞€濞佳囧磹婵犳艾鐤炬い鎰堕檮閸嬬喐銇勯弽銊с€掗梻鍕閺岋箑螣娓氼垱笑闂佽姘﹂褔婀佸┑鐘诧工妤犲憡绂嶉崜褏纾奸弶鍫涘妼缁楁岸鏌熷畡鐗堝殗闁诡喒鏅犲畷褰掝敃閵堝棙顔忔繝鐢靛仦閸ㄥ爼骞愰幘顔肩;闁规崘绉ぐ鎺撳亹闁绘垶锕╁Λ鍕⒑閹肩偛濡奸悗娑掓櫇缁顓兼径妯绘櫇闂佹寧绻傞弻濠囨晝閸屾稓鍘甸柣搴㈢⊕閿氶柣蹇ョ稻缁绘繃绻濋崘銊т紝闂佽鍨伴崯鏉戠暦閻旂⒈鏁傞柛鈾€鏅欑槐妯衡攽閻愬樊鍤熷┑顔藉劤铻為柛鏇ㄥ墯閸欏繘鏌嶉崫鍕櫣缂佲偓婢跺绠鹃柟瀛樼箘閿涘秵顨ラ悙顏勭伈闁诡喖缍婂畷鎯邦槻婵℃彃顭烽弻娑㈠Ω閵夈儺鍔夌紓浣稿€哥粔褰掑极閹剧粯鏅搁柨鐕傛嫹 ---闂傚倷鐒︾€笛兠洪埡鍛闁跨噦鎷�
开发学院软件开发C++ 教你轻松给流程增加权限控制程序 阅读

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

 2008-03-08 21:38:02 来源:WEB开发网 闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹闂傚倷绀侀幉锟犲垂閻㈠灚宕查柟鎵閸庡秵銇勯幒鎴濃偓鐢稿磻閹炬枼妲堟繛鍡楃С濞岊亞绱撻崒姘扁枌闁瑰嚖鎷�婵犵數濮幏鍐川椤撴繄鎹曢梻渚€娼уú銈吤洪妸鈺佺劦妞ゆ帊鑳堕埊鏇㈡煏閸モ晛浠х紒杈╁仱閺佹捇鏁撻敓锟�闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹  闂傚倷鑳舵灙缂佺粯顨呴埢宥夊即閵忕姵鐎梺缁樺姈椤愮厧鈽夊Ο閿嬬€婚梺褰掑亰閸撴稑鈻斿鑸碘拺闁告稑饪村▓鏃€绻涚仦鍌氬闁崇粯鎹囬獮瀣攽閹邦剚顔傛俊鐐€栧濠氬储瑜忛幉鎾晸閿燂拷
核心提示:WF提供权限控制的功能,其中包括两种方式:ActiveDirectoryRole(通过活动目录用户)和WebWorkflowRole(asp.net Role),教你轻松给流程增加权限控制程序,下面我以WebWorkflowRole的方式作为权限控制例子做介绍,首先需要安装ASPnetdb数据库(通过运行微软提供的as
  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);     WF通过检查传入的登录名参数是否存在于流程角色列表的某个角色中来实现流程权限控制。 更多文章 更多内容请看Windows权限设置专题,或

Tags:轻松 流程 增加

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接