`
zhangym195
  • 浏览: 124036 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
社区版块
存档分类
最新评论

jBPM jPDL 用户开发手册 3.2.3 - 第22章

阅读更多

22章 安全

jBPM的安全属性还处于alpha阶段。本章归档了可插拨的认证和授权。那么框架的什么内容完成了,什么部分没有还完成呢。

22.1. 要做的事

在框架部分上,我们仍然需要在流程正在被执行时通过jbpm引擎定义一系列的被校验的权限。当前你能检查你自己的权限,但仍没有一个jbpm缺省权限的设置。
只完成了一个缺省的认证实现。但预想了其他的认证实现。对于授权,预想了有许多的授权实现,但他们还没有做出来。
如果没有认证和授权,框架提供插入你自己的认证和授权的机制。

22.2. 认证

认证让流程了解代表谁的代码正在运行。假如jBPM的这个信息在jBPM环境中生效的话,将使jBPM总是执行在特定的环境中,如web应用、EJB、swing应用或一些其他的环境下,它总是让周围的环境来执行认证。
在一些情形下,jBPM需要知道谁正在运行代码。例如在流程日志中增加谁信息来知道谁什么时候在做什么。另一个例子是基于当前被认证的参与者进行参与者计算。
在每个情形下jBPM要知道谁正在运行代码,需要调用中心方法org.jbpm.security.Authentication.getAuthenticatedActorId()。那个方法将委托org.jbpm.security.authenticator.Authenticator的实现。通过指定一个认证器的实现,你可以配置jBPM如何从环境中检索当前认证的参与者。

缺省的认证器是org.jbpm.security.authenticator.JbpmDefaultAuthenticator。那个实现维护一个ThreadLocal的认证的actorId栈。认证的块能够使用方法JbpmDefaultAuthenticator.pushAuthenticatedActorId(String)和 JbpmDefaultAuthenticator.popAuthenticatedActorId()来标记。确定总是放这些界限在一个try-finally块中,对于认证器实现的入栈(push)和出栈(pop)方法,在基Authentication类中提供了方便的方法。JbpmDefaultAuthenticator维护一个sctorIds栈而不只是一个的actorId的原因是简单的:它允许jBPM代码去区分在代表用户执行的代码和代表jbpm引擎执行的代码。

查看javadocs获得更多的信息。

22.3. 授权

授权是确认是否一个认证的用户被允许去执行一个安全的操作。
jBPM引擎和用户代码可以核实是否一个用户被允许使用API方法org.jbpm.security.Authorization.checkPermission(Permission)去执行一个给定的操作。
Authorization类也将委托调用一个可配置的实现。对于不同策略的pluggin接口是org.jbpm.security.authorizer.Authorizer。在包org.jbpm.security.authorizer有一些显示认证器实现意图的例子。大多数是没有被完全实现而且他们也没有被测试。

另外仍然要去做的是通过jBPM引擎定义一系列的jBPM权限并校验那些权限。一个例子可以通过在TaskInstance.end()方法中调用Authorization.checkPermission(new TaskPermission("end", Long.toString(id)))方法校验当前已认证的用户有足够特权来结束一个任务。

分享到:
评论

相关推荐

    jbpm-jpdl-suite-3.2.3.zip

    jbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3....

    jbpm-jpdl-suite-3.2.3安装配置.doc

    - 修改jbpm-jpdl-3.2.3\db目录下的jbpm.jpdl.mysql.sql文件,为每个SQL语句末尾添加分号,以便正确执行脚本。 4. **jbpm-jpdl-suite-3.2.3部署**: - 在MySQL中执行修改后的jbpm.jpdl.mysql.sql脚本,初始化jbpm...

    jbpm-jpdl-suite-3.2.3的安装配置

    - **docs**目录:包含文档和手册,用于指导用户安装、配置和使用jBPM-jPDL。 - **samples**目录:提供了一些示例项目,帮助用户了解如何使用jBPM-jPDL实现具体业务流程。 安装配置jBPM-jPDL-suite-3.2.3通常涉及...

    JBoss_jBPM_jPDL用户开发手册_3.2.3.pdf 中文-(转)zhangym

    《JBoss_jBPM_jPDL用户开发手册_3.2.3.pdf》作为开发者的重要参考资料,详细介绍了如何使用jBPM和jPDL进行流程开发。手册内容可能涵盖: - **安装与配置**:指导读者设置开发环境,包括JBoss服务器的部署和jBPM的...

    jbpm-jpdl-3.2.3.zip

    jbpm-jpdl-3.2.3.zip 是一个包含开源工作流引擎jbpm的版本3.2.3的压缩包。jbpm(Java Business Process Management)是一个强大的业务流程管理系统,它提供了完整的业务流程建模、执行和管理能力,特别适合于需要...

    jbpm-jpdl-3.2.3(server部分).rar

    这个是jbpm-jpdl-3.2.3.zip的server部分,有60多兆, 只要将"jbpm-jpdl-3.2.3(没有server部分).rar"和这个合在一起就是整个的jbpm-jpdl-3.2.3.zip "jbpm-jpdl-3.2.3(没有server部分).rar"在我的另外一个上传资源里面

    jbpm-jpdl-suite-3.2.GA.zip-6

    jbpm-jpdl-suite-3.2.GA.zip

    JBoss+jBPM+jPDL用户开发手册_3.2.3

    《JBoss+jBPM+jPDL用户开发手册_3.2.3》是针对企业级应用开发的一个详尽指南,特别关注于工作流管理和流程自动化。这个手册详细介绍了如何使用JBoss中间件平台,结合jBPM(Java Business Process Management)和jPDL...

    jBPM jPDL 用户指南 (Version 3.2.3) - 第2章

    **jbPM jPDL 用户指南 (Version 3.2.3) - 第2章** jbPM(Java Business Process Management)是一种开源的工作流管理系统,专为Java开发者设计,它提供了业务流程建模、执行和监控的功能。jPDL(jBPM Process ...

    jbpm用户开发手册v3.2.3中文版.pdf

    **JBoss jBPM 用户开发手册v3.2.3中文版** jBPM(Java Business Process Management)是一个开源的工作流引擎,专为Java开发者设计,它提供了强大的业务流程管理和执行能力,使得开发者能够轻松地集成业务逻辑和...

    工作流框架JBoss+jBPM+jPDL用户开发手册

    6. JBoss+jBPM+jPDL用户开发手册_3.2.3.pdf:这可能是jBPM 3.2.3版本的官方用户手册,提供了该版本的详细技术指南和最佳实践。内容可能包括API使用、工作流生命周期管理、持久化机制、错误处理、自定义扩展等关键...

    JBPM-3.2.2

    5. **文档和示例**:为了帮助开发者更好地理解和使用JBPM,通常会提供详细的用户手册和示例代码,指导如何配置、部署以及编程接口的使用。 6. **测试和调试工具**:可能包含了一些辅助工具,如命令行工具或调试器,...

    jbpm-jpdl-3.2.3(没有server部分)

    这个是jbpm-jpdl-3.2.3的zip,本来这个是85M的zip, 我删除了server 文件夹(这个文件夹有60多M) 这个server部分在我的另外一个资源里面,一般开发用不到这个server文件夹 如果需要的话,就下载不需要积分, 这个没有...

    jbpm-jpdl  

    jbpm-jpdl-3.2.3

    工作流插件 jbpm activiti

    工作流插件 activiti-5.15.1 jbpm-4.3 jbpm-4.4 jbpm-jpdl-suite-3.2.3

    jBPM开发:配置EclipseIDE开发环境参考.pdf

    ### jBPM开发:配置EclipseIDE开发环境详解 #### 一、配置开发工具 **1. 安装 Eclipse Designer到 Myeclipse6** - **步骤**: - 将`jbpm-jpdl-suite-3.2.3/designer/eclipse/plugins`目录下的所有文件及文件夹...

    jBPM工作流应用

    首先从网站上下载jBPM开发包(jbpm-jpdl-suite-3.2.3.zip),据说现在jBPM3已经升到3.2.6了,而且据说已经推出了jBPM4了。将jbpm-jpdl-suite-3.2.3.zip解压缩后,里面有个\designer文件夹,这个是eclipseIDE的jBPM...

Global site tag (gtag.js) - Google Analytics