activiti官方给了建议的方式去将自己的用户管理覆盖activiti的用户管理,但是我个人觉得不好用,给你一个通用的解决办法。
仅适用activiti:assignee方式指定任务的具体处理人,自己给些特定的前缀来区分人和分组,举个例子:
任务的指派负责人:activiti:assignee="USER(admin)"
查询当前登陆用户有哪些需要处理的任务:
String userAccount = "admin";
List<Task> tasks = taskService.createTaskQuery().taskAssignee("USER("+userAccount+")").list();
假如你想指派任务的负责人是一个分组:activiti:assignee="ROLE(administrator)"
查询当前登陆用户有哪些需要处理的任务:
先自行查出用户所属角色
String userRole = "administrator";
List<Task> tasks = taskService.createTaskQuery().taskAssignee("ROLE("+userAccount+")").list();
上面列出的就是实现原理,你可以根据具体情况扩展。