2017-10-17 23 views
0

Nous devons contourner la sécurité LDAP sur notre application Web pour exécuter des tests JUnit.Contournement de LDAP pour JUnit

Nous avons un service web REST construit en Java en utilisant le framework Jersey et en utilisant Tomcat 8.5 comme serveur d'application. Tous les points de terminaison fonctionnent, mais il est temps d'ajouter des tests unitaires. Nous voulons tester tous les points d'aboutissement de cinq façons à partir de mardi, pour des raisons évidentes. Nous allons utiliser JUnit pour faire cela.

Le problème est que notre site web est sécurisé via LDAP. Il n'y a aucun moyen de contourner le problème, sauf entrer un nom d'utilisateur et un mot de passe corrects. Ceci, bien sûr, est impraticable. Existe-t-il un moyen de contourner la sécurité LDAP pendant que nous effectuons nos tests JUnit? Nous ne sommes pas autorisés à modifier l'implémentation de la sécurité de quelque manière que ce soit, mais nous sommes autorisés à la contourner par programmation si cela est possible. Je sais que je manque probablement des tonnes d'informations nécessaires ici, mais je ne sais rien à propos de l'implémentation de la sécurité, juste les points de terminaison REST, que j'ai écrits.

Existe-t-il un moyen facile de contourner le protocole LDAP? Ai-je besoin de fournir des informations supplémentaires?

+0

Quelle partie du code effectue l'authentification? Ne peut-on pas se moquer de quelque chose? –

Répondre

1

Vous pouvez utiliser Jersey Test Framework pour exécuter vos tests unitaires sans démarrer le conteneur. Cela devrait également vous permettre de contourner toute sécurité car vos tests contrôlent la configuration de l'instance de test.

tutoriel de base Jolie: http://www.logicbig.com/tutorials/java-ee-tutorial/jax-rs/jax-rs-unit-testing/

+0

Merci! Je regarderai dans ceci (j'ai pensé que j'ai posté ce commentaire il ya des jours, mais il semble que cela ait disparu). – Frecklefoot

+0

Ils suppriment ces commentaires car ils sont agianst les règles) –

+0

Merci, Aleh! Ça a marché. Maintenant, nous avons des tests unitaires de travail! Merci encore! – Frecklefoot

1

Si vous utilisez LDAP, l'authentification peut être fait passer comme base. Si vous connaissez le nom d'utilisateur et le mot de passe, ajoutez l'en-tête "Authorization" avec la valeur "Basic base64_token". Le jeton base64 est une chaîne codée en base64 avec votre nom d'utilisateur et votre mot de passe au format nom d'utilisateur: mot de passe. Idéalement, cela devrait fonctionner.

+0

Merci. Je vais regarder ça. – Frecklefoot

+0

@Frecklefoot Cela a-t-il fonctionné? – thatrockbottomprogrammer

+0

Être jeté à d'autres choses ATM. Regardera quand je peux. – Frecklefoot