我们需要绕过Web应用程序的LDAP安全性来运行JUnit测试。
我们有一个使用Jersey框架用Java构建的REST Web服务,并使用Tomcat 8.5作为我们的应用程序服务器。所有端点都可以工作,但现在是添加单元测试的时候了。由于显而易见的原因,我们希望从星期二开始以五种方式测试每个darn端点。我们将使用JUnit来做这件事。
问题是,我们的网站是通过LDAP保护的。除了输入正确的用户名和密码之外,没有办法绕过它。当然,这是不切实际的。在运行JUnit测试时,是否有某种方法可以绕过LDAP安全性?我们不允许以任何方式修改安全实现,但如果可能的话,我们可以以编程方式绕过它。
我知道我可能在这里缺少大量需要的信息,但我对安全实现几乎一无所知,只是我写的REST端点。
围绕LDAP有一种简单的方法吗?我是否需要提供任何其他信息?
答案 0 :(得分:1)
您可以使用Jersey Test Framework在不启动容器的情况下运行单元测试。这也应该允许您绕过任何安全性,因为您的测试正在控制测试实例配置。
非常基础的教程:http://www.logicbig.com/tutorials/java-ee-tutorial/jax-rs/jax-rs-unit-testing/
答案 1 :(得分:1)
如果您使用的是LDAP,则可以像Basic一样传递身份验证。如果您知道用户名和密码,请附加标题为“Authorization”的标题为“Basic base64_token”。
base64标记是一个字符串,使用您的用户名和密码进行base64编码,格式为username:password。理想情况下,这应该有用。