删除Camunda镜像中默认的demo用户
背景
Camunda Platform的Tomcat分发包,启动后会自动创建一个用户名和密码都是demo的用户,但是有的时候我们并不需要它,本文介绍如何取消这个默认的用户。
结论
移除掉camunda-invoice这个示例应用。
如果demo这个用户已经被创建,则需要先停止Camunda服务,然后删除或清空数据库,再删除camunda-invoice目录,最后重新启动Camunda服务。
本地文件
直接删除camunda-bpm-tomcat-xxx\server\apache-tomcat-xxx\webapps\camunda-invoice中这个目录
Docker镜像
编写Dockerfile文件,新构建一个新的镜像:
1 | FROM camunda/camunda-bpm-platform:7.15.0 |
也可以通过挂载本地的一个空目录到容器的webapps目录来实现:
1 | docker run -d --name camunda -p 8080:8080 \ |
分析
使用IntellJ IDEA或其它IDE打开camunda-bpm-tomcat-7.12.0\server\apache-tomcat-9.0.24\webapps\camunda-invoice\WEB-INF\classes\org\camunda\bpm\example\invoice
目录下的两个Java字节码文件:InvoiceProcessApplication.class
和DemoDataGenerator.class
。
InvoiceProcessApplication这个类被org.camunda.bpm.application.ProcessApplication
注解修饰,即它成为了整个程序的入口:
1 | //org.camunda.bpm.application.PostDeploy这个注解标注的方法会在Camunda引擎部署好之后执行 |
DemoDataGenerator这个类负责实际的创建demo用户的操作:
1 | public void createUsers(ProcessEngine engine) |
参考
- No initial admin user creation page - Cockpit / Tasklist / Admin & Web - Camunda Platform Forum
- [Most Elegant way to install without example invoice app but still include camunda web apps? · Issue #43 · camunda/docker-camunda-bpm-platform · GitHub
- How to skip Camunda example BPMN files loading in Docker? - Process Engine - Camunda Platform Forum
- GitHub - camunda/docker-camunda-bpm-platform: Docker images for the camunda BPM platform