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

WF提供权限控制的功能,其中包括两种方式:ActiveDirectoryRole(通过活动目录用户)和WebWorkflowRole(ASP.NET Role)。下面我以WebWorkflowRole的方式作为权限控制例子做介绍,首先需要安装aspnetdb数据库(通过运行微软提供的aspnet_regsql.exe文件);App.config文件配置如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
   <addname="SqlServerConnection"
     connectionString="IntegratedSecurity=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通过检查传入的登录名参数是否存在于流程角色列表的某个角色中来实现流程权限控制。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索权限
, security
, 流程
, system
, 控制
角色
财务审批流程及权限、增加注册资本流程、增加经营范围流程、增加股东流程、公司增加股东流程,以便于您获取更多的相关知识。

时间: 2024-12-28 13:56:31

教你给流程增加权限控制程序的相关文章

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

程序|控制 WF提供权限控制的功能,其中包括两种方式:ActiveDirectoryRole(通过活动目录用户)和WebWorkflowRole(ASP.NET Role).下面我以WebWorkflowRole的方式作为权限控制例子做介绍,首先需要安装aspnetdb数据库(通过运行微软提供的aspnet_regsql.exe文件);App.config文件配置如下: <?xmlversion="1.0"encoding="utf-8" ?> <

jbpm5 4-JBPM5.4 每启动一个流程增加2个线程

问题描述 JBPM5.4 每启动一个流程增加2个线程 我现在在用jbpm5.4,启动新流程用如下代码: HornetQHTWorkItemHandler hornetQHTWorkItemHandler = new HornetQHTWorkItemHandler(ksession); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", hornetQHTWorkItemHandler); pi = k

php运用readfile函数给隐藏下载文件地址增加权限判断

1 以上代码实现了真是URL路径的隐藏功能, 本页开头可以进行权限判断. 2 效果如图,我们看到下面文件下载的URL已经被test.php隐藏.     <?php 02 $file = get_file_address();// 文件的真实地址(支持url,不过不建议用url) 03 04 if (file_exists($file)) { 05 header('Content-Description: File Transfer'); 06 header('Content-Type: app

MSSQL基础教程之SQL流程控制命令

Transact-SQL 语言使用的流程控制命令与常见的程序设计语言类似主要有以下几种控制命令. 4.6.1 IF-ELSE 其语法如下: IF <条件表达式> <命令行或程序块> [ELSE [条件表达式] <命令行或程序块>] 其中<条件表达式>可以是各种表达式的组合,但表达式的值必须是逻辑值"真"或"假".ELSE子句是可选的,最简单的IF语句没有ELSE子句部分.IF-ELSE用来判断当某一条件成立时执行某段程

Visual Studio2008 RDLC报表有没有增加权限的功能,泰哥救我

问题描述 RDLC报表部署在服务端,通过URL来访问,任何用户都可以通过URL来访问报表这样就有问题,请问泰哥VisualSudio2008开发的RDLC报表可以通过在SQL中或者文件里添加权限控制吗?好急好急的....泰哥救我!!!!!感谢泰哥!!!!!

手把手教你推广网站 增加网站的流量

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 很多站长都为自己苦苦做的站而没有流量感到苦恼,确实是这样 网站没人看不是白做了一场吗?于是很多站长都在找方法,我总结了以下的方法 下面的方法利用在于好而精 也就是说你把其中任意一种利用好了,你就成功了 1. 发帖子 发帖子依旧是好方法,1篇好帖子可以跟你带来1000甚至以上的IP .另外帖子被转了会有效的增加外链. 主要要看你怎么发,说实话,

使用JBoss jBPM实现流程访问和执行的授权

当今常见的BPM趋势是集中化整个公司或公司内大部门的BPM执行.这意味着,单个BPM服务器(集群) 运行着整个公司的许多流程定义.这种方式的挑战在于,虽然BPM引擎(包括jBPM)提供了对于任务访问 的授权,但它们一般都不支持这些功能的授权:流程定义的查看和删除,流程实例的启动.结束.查看和 删除等.在这篇文章中,我们将描述如何对jBPM引擎进行扩展 (基于jBPM 4.3)来实现这一功能. 整体实现方法 整个实现方式相当直接了当--对于每个流程定义引入一组可以授权的用户/用户组(类似任务定义)

如何为U盘添加安全使用权限?

  现在U盘使用越来越广泛,今天教大家利用NTFS文件权限打造安全u盘.利用NTFS文件管理权限来打造安全U盘操作步骤如下: 一.首先将我们的U盘建立为个文件夹目录:系统.工作.TMP,重要文件保存在"工作"目录,只能增加文件不能随便删除:"系统",文件夹保存一些固定的文件,类似电脑系统级别,不能有任何改变,只能读取:Tmp保存临时文件,可以被随意操作.然后将U盘转换为ntfs文件系统方法很多,可以通过"运行"命令CMD中的:Converth:/

如何用NTFS文件权限打造安全U盘

U盘作为现在流行的移动存储设备其安全很重要,今天教大家利用NTFS文件权限打造安全u盘.利用NTFS文件管理权限来打造安全U盘操作步骤如下: 1.首先将我们的U盘建立为个文件夹目录:系统.工作.TMP,重要文件保存在"工作"目录,只能增加文件不能随便删除:"系统",文件夹保存一些固定的文件,类似电脑系统级别,不能有任何改变,只能读取:Tmp保存临时文件,可以被随意操作.然后将U盘转换为ntfs文件系统方法很多,可以通过 "运行"命令CMD中的:C