package org.flowable.ui.common.security; import org.fh.util.Jurisdiction; import org.flowable.common.engine.api.FlowableIllegalStateException; import org.flowable.idm.api.User; import org.flowable.ui.common.model.RemoteUser; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContext; import org.springframework.security.core.context.SecurityContextHolder; import java.util.ArrayList; import java.util.List; /** * 说明:重构流程编辑器获取用户信息 * 作者:FH Admin * from:www.fhadmin.cn */ public class SecurityUtils { private static User assumeUser; private static SecurityScopeProvider securityScopeProvider = new FlowableSecurityScopeProvider(); private SecurityUtils() { } /** * Get the login of the current user. */ public static String getCurrentUserId() { User user = getCurrentUserObject(); if (user != null) { return user.getId(); } return null; } /** * @return the {@link User} object associated with the current logged in user. */ public static User getCurrentUserObject() { if (assumeUser != null) { return assumeUser; } RemoteUser user = new RemoteUser(); user.setId(Jurisdiction.getUsername()); user.setDisplayName(Jurisdiction.getName()); user.setFirstName(Jurisdiction.getName()); user.setLastName(Jurisdiction.getName()); user.setEmail("admin@flowable.com"); user.setPassword("123456"); List<String> pris = new ArrayList<>(); pris.add(DefaultPrivileges.ACCESS_MODELER); pris.add(DefaultPrivileges.ACCESS_IDM); pris.add(DefaultPrivileges.ACCESS_ADMIN); pris.add(DefaultPrivileges.ACCESS_TASK); pris.add(DefaultPrivileges.ACCESS_REST_API); user.setPrivileges(pris); return user; } public static void setSecurityScopeProvider(SecurityScopeProvider securityScopeProvider) { SecurityUtils.securityScopeProvider = securityScopeProvider; } public static SecurityScope getCurrentSecurityScope() { SecurityContext securityContext = SecurityContextHolder.getContext(); if (securityContext != null && securityContext.getAuthentication() != null) { return getSecurityScope(securityContext.getAuthentication()); } return null; } public static SecurityScope getSecurityScope(Authentication authentication) { return securityScopeProvider.getSecurityScope(authentication); } public static SecurityScope getAuthenticatedSecurityScope() { SecurityScope currentSecurityScope = getCurrentSecurityScope(); if (currentSecurityScope != null) { return currentSecurityScope; } throw new FlowableIllegalStateException("User is not authenticated"); } public static void assumeUser(User user) { assumeUser = user; } public static void clearAssumeUser() { assumeUser = null; } }
相关推荐
最新版flowable6.3.1流程在线编辑项目,war包形式,放置Tomcat的webapp下,自动部署安装。
flowable高亮流程已执行节点及连线,包含6.4.1版本以及6.4.1之前版本的不同处理方法
1. **Web-based BPMN编辑器**:Flowable 6.0的在线设计器基于BPMN 2.0标准,提供了一个全功能的Web界面,用于创建、编辑和管理业务流程模型。用户可以通过拖放活动、网关、事件等元素来构建流程图。 2. **实时预览*...
`users`、`groups`和`categorys`属性则提供了流程图中角色和分类的定义,它们可以映射到Flowable中的用户、组和类别,用于展示流程图中的参与者信息。 总结来说,使用Vue结合`workflow-bpmn-modeler`库绘制Flowable...
Activiti(Flowable) 流程实例克隆解决方案1
Flowable深入浅出-13 Flowable-BPMN操作流程之流程进展查看之流程图,欢迎在我的专栏查看该文章(第13篇),专栏地址:https://blog.csdn.net/houyj1986/column/info/31755
SpringBoot 集成 Flowable + Flowable Modeler 流程配置可视化(图解) 博客地址:https://yangyongli.blog.csdn.net/article/details/132719594
在SpringBoot中集成flowable流程引擎及modeler可视化流程设计器项目完整源码,附有使用说明文档 1、使用开发工具eclipse或者idea等导入项目myflow 2、配置application.properties中的数据库连接,修改用户名和登录...
运行时表用于存储流程引擎的运行时信息,例如流程实例、用户任务、变量和作业等。这些表只在流程实例运行中保存运行时数据,并在流程实例结束时删除记录。 四、历史表 历史表用于存储流程引擎的历史数据,例如已...
在Spring Boot应用中整合Flowable-Modeler设计器,可以帮助开发者直观地设计和管理业务流程,提高开发效率。下面将详细介绍如何在Spring Boot项目中集成Flowable-Modeler以及相关知识点。 1. **Spring Boot简介** ...
在本项目中,bpmn.io@7.0 版本被用来创建和编辑Flowable的流程图,用户可以通过直观的图形界面设计复杂的业务流程。 4. **Flowable Modeler**: Flowable Modeler是Flowable项目的一部分,它提供了一个可视化的...
在线流程设计器部分,Flowable Modeler提供了用户友好的界面,用于绘制和编辑BPMN2.0流程图。我们可以使用Flowable Modeler的REST API与前端交互,实现动态加载、保存、部署流程模型。在前端,可以选择React、Vue或...
内涵docker部署,直接可启动,自己部署流程编辑工具,官方提供的步骤,更加贴合flowable底层源码,版本是flowableUi 6.7.2,jdk1.8,数据库可自己进行配置,不修改数据库配置也可以直接启动
"Flowable流程分析流程与表" Flowable是一个流程引擎,用于流程自动化和业务流程管理。Flowable提供了强大的流程引擎,可以对流程进行建模、执行和监控。 流程生命周期与数据库表之间的逻辑关系: Flowable流程...
6. **监控与管理**: 通过Flowable的`HistoryService`和`ManagementService`,可以获取流程运行的历史记录,监控流程实例的状态,以及进行性能优化。 在提供的资源"flowablestudy"中,可能包含了实现以上功能的Java...
Flowable 支持查询,用户可以使用 Flowable API 或 Flowable REST API 查询流程实例、任务等信息。 4. Flowable 的应用场景 Flowable 的应用场景包括业务流程管理、工作流管理、自动化流程等。 4.1. 业务流程管理...
Flowable深入浅出-12 Flowable-BPMN操作流程之用户任务UserTask,请参考专栏https://blog.csdn.net/houyj1986/column/info/31755第12篇
Flowable Modeler 6.3.1是一款基于BPMN(Business Process Model and Notation)标准的流程建模工具,其强大的可视化编辑器是其核心功能之一。此汉化版的"stencilset_bpmn.json"文件是该编辑器的关键配置文件,用于...
自学Flowable流程引擎