2017-10-17 14 views
0

JUnitテストを実行するには、WebアプリケーションのLDAPセキュリティをバイパスする必要があります。JUnitのLDAPをバイパスする

Jerseyフレームワークを使用し、Tomcat 8.5をアプリケーションサーバーとして使用して、JavaでREST Webサービスを構築しました。すべてのエンドポイントが機能しますが、単体テストが追加されるようになりました。明らかな理由から、火曜日から5つの方法ですべてのエンドポイントをテストしたいと考えています。これを行うには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/

+0

ありがとう!私はこれを調べます(私はこのコメントを数日前に投稿したと考えましたが、それは消えたようです)。 – Frecklefoot

+0

彼らは規則を守るようなコメントを削除します) –

+0

ありがとう、アレ!それはうまくいった。今私たちはユニットテストを行っています!再度、感謝します! – Frecklefoot

1

LDAPを使用している場合は、認証が基本のようにオフに渡すことができます。ユーザー名とパスワードがわかっている場合は、ヘッダ "Authorization"に値 "Basic base64_token"を追加します。

base64トークンは、ユーザー名とパスワードをusername:passwordの形式でbase64でエンコードした文字列です。理想的には、これはうまくいくはずです。

+0

ありがとうございます。私はこれを調べます。 – Frecklefoot

+0

@Frecklefoot動作しましたか? – thatrockbottomprogrammer

+0

他のものATMで投げられます。私はできる時を見ます。 – Frecklefoot

関連する問題