如何在嵌入式Tomcat上定义tomcat-users.xml?

Jar*_*rdo 5 java junit selenium tomcat

我正在使用Selenium在Maven Web应用程序上运行自动JUnit测试.基本上我在嵌入式Tomcat服务器(org.apache.tomcat.embed)上运行应用程序.应用程序使用BASIC身份验证,因此我需要以某种方式在嵌入式tomcat服务器上定义tomcat-users.xml.我尝试将tomcat-users.xml放到src/main/webapp/META-INF /但是它不起作用.

这是我启动服务器的方式:

tomcat = new Tomcat();
tomcat.setPort(0);
tomcat.addWebapp("/", new File("src/main/webapp/").getAbsolutePath());
tomcat.start();
Run Code Online (Sandbox Code Playgroud)

Jar*_*rdo 7

我不久前想到了这个,所以这里有一个有类似问题的人的解决方案.基本上你可以直接在java代码中定义tomcat-users.xml中的内容:

//Add role and user order is important
tomcat.addRole("userName", "admin");
tomcat.addRole("userName", "editor");
tomcat.addUser("userName", "password");
Run Code Online (Sandbox Code Playgroud)