跳至主要內容

Activiti7 填坑笔记

Zenghr小于 1 分钟Activiti7

Activiti7 填坑笔记

提示

该文章记录一下使用 Activiti7 时所遇到的一些异常或者坑

Error: UsernameNotFoundException

环境:SpringBoot 集成 Activiti7

Activiti7 版本:7.0.0

异常原因

Activiti7 默认和Spring Security集成了,当我们的项目中不需要Spring Security时,需要排除Spring Security配置,但是 Activiti7 在代码中强耦合了SpringScurity,所以我们在使用 activiti 的 Api 查询候选人任务时会遇到异常

taskService.taskCandidateUser(candidateUser);

Caused by: org.springframework.security.core.userdetails.UsernameNotFoundException: XX

该 Api 会调用 SpringScurity 中的 UserDetailsService 类型的bean中的 loadUserByUsername 方法.然后是找不到的,所以报错了

解决方案

写一个类实现 UserDetailsService 然后重写 loadUserByUsername 方法

@Component
public class SelfUserDetailsServiceImpl implements UserDetailsService {
    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
        return new User(username,"", Collections.emptyList());
    }
}