2017-10-17 96 views
0

我們需要繞過Web應用程序上的LDAP安全性來運行JUnit測試。繞過適用於JUnit的LDAP

我們有一個使用Jersey框架構建的使用Tomcat 8.5作爲應用程序服務器的REST Web服務。所有的端點都可以工作,但現在是添加單元測試的時候了。我們想從週二的五種方式來測試每個darn端點,原因很明顯。我們將使用JUnit來做這樣的事情。

問題是,我們的網站通過LDAP進行安全保護。除了輸入正確的用戶名和密碼外,沒有辦法繞過它。這當然是不切實際的。當我們運行我們的JUnit測試時,有什麼方法可以繞過LDAP安全嗎?我們不允許以任何方式修改安全性實現,但是如果可能的話,我們可以通過編程方式繞過它。

我知道我可能在這裏缺少大量需要的信息,但我幾乎不知道安全實現,只是我編寫的REST端點。

有沒有簡單的LDAP方法?我是否需要提供任何其他信息?

+0

什麼部分的代碼是做實際的認證?難道不能被嘲笑嗎? –

回答

1

您可以使用Jersey測試框架來運行您的單元測試而無需啓動容器。這也應該允許您繞過任何安全性,因爲您的測試正在控制測試實例配置。

漂亮的基本教程:http://www.logicbig.com/tutorials/java-ee-tutorial/jax-rs/jax-rs-unit-testing/

+0

謝謝!我會研究這個(我以爲我幾天前發佈了這個評論,但看起來它消失了)。 – Frecklefoot

+0

他們刪除了這樣的評論,因爲他們是非常典型的) –

+0

謝謝,Aleh!這工作。現在我們有工作單元測試!再次感謝! – Frecklefoot

1

如果您正在使用LDAP,該認證可以像基本冒充。如果您知道用戶名和密碼,請將標題「Authorization」附加值「Basic base64_token」。

base64標記是一個字符串,它是用您的用戶名和密碼進行base64編碼的,格式爲username:password。理想情況下,這應該起作用。

+0

謝謝。我會研究這個。 – Frecklefoot

+0

@Frecklefoot它有用嗎? – thatrockbottomprogrammer

+0

獲取拋出其他東西的ATM。我會在什麼時候看看。 – Frecklefoot

相關問題