分类: Java
2021-06-01 07:36:58
点击(此处)折叠或打开
报错提示:`flowable.common.app.idm-url` must be set
- Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.flowable.ui.common.service.idm.RemoteIdmService]: Factory method 'remoteIdmService' threw exception; nested exception is java.lang.IllegalArgumentException: `flowable.common.app.idm-url` must be set
- at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
- at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653)
- ... 25 common frames omitted
- Caused by: java.lang.IllegalArgumentException: `flowable.common.app.idm-url` must be set
- at org.springframework.util.Assert.hasText(Assert.java:289)
- at org.flowable.ui.common.properties.FlowableCommonAppProperties.determineIdmAppUrl(FlowableCommonAppProperties.java:150)
- at org.flowable.ui.common.service.idm.RemoteIdmServiceImpl.<init>(RemoteIdmServiceImpl.java:60)
- at org.flowable.ui.common.security.FlowableUiSecurityAutoConfiguration$RemoteIdmConfiguration.remoteIdmService(FlowableUiSecurityAutoConfiguration.java:120)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.lang.reflect.Method.invoke(Method.java:483)
- at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
- ... 26 common frames omitted
这个是由于flowable调用自己的用户权限导致的,如果把flowable集成自己的框架里面,就不需要用它自带的用户体现和权限了点击(此处)折叠或打开
- @Autowired
- protected ObjectMapper objectMapper;
- protected String url;
- protected String adminUser;
- protected String adminPassword;
- public RemoteIdmServiceImpl(FlowableCommonAppProperties properties) {
- url = properties.determineIdmAppUrl();
- adminUser = properties.getIdmAdmin().getUser();
- Assert.hasText(adminUser, "Admin user must not be empty");
- adminPassword = properties.getIdmAdmin().getPassword();
- Assert.hasText(adminPassword, "Admin user password should not be empty");
- }
出现这个问题,需要重写调用这个权限的最开始的那个类:FlowableUiSecurityAutoConfiguration
在自己项目,相同包名路径下,建个相同的类
点击(此处)折叠或打开
- package org.flowable.ui.common.security;
- import org.flowable.spring.boot.FlowableSecurityAutoConfiguration;
- import org.flowable.spring.boot.idm.IdmEngineServicesAutoConfiguration;
- import org.springframework.boot.autoconfigure.AutoConfigureAfter;
- import org.springframework.boot.autoconfigure.AutoConfigureBefore;
- import org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration;
- import org.springframework.context.annotation.Configuration;
- /**
- * 说明:重构FlowableUiSecurity自动配置
- * From:www fhadmin org
- */
- @Configuration(proxyBeanMethods = false)
- @AutoConfigureAfter({
- IdmEngineServicesAutoConfiguration.class,
- })
- @AutoConfigureBefore({
- FlowableSecurityAutoConfiguration.class,
- OAuth2ClientAutoConfiguration.class,
- })
- public class FlowableUiSecurityAutoConfiguration {}