国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

教你輕松給流程增加權限控制程序

2024-07-21 02:30:05
字體:
來源:轉載
供稿:網友
注冊會員,創建你的web開發資料庫,

  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通過檢查傳入的登錄名參數是否存在于流程角色列表的某個角色中來實現流程權限控制。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 错那县| 建始县| 得荣县| 玛曲县| 鲜城| 鄱阳县| 云林县| 怀集县| 汝城县| 连南| 周至县| 洛扎县| 安阳县| 蛟河市| 荆门市| 马山县| 东至县| 滕州市| 朝阳市| 霸州市| 砀山县| 营山县| 土默特右旗| 象山县| 贺兰县| 洪洞县| 广丰县| 广宗县| 邯郸县| 渭南市| 天等县| 奉化市| 河西区| 天峨县| 瑞金市| 乌兰察布市| 赣州市| 张北县| 苏州市| 新晃| 特克斯县|