2017-10-09 5 views
-1

Il existe un module 'Module1' qui authentifie un utilisateur utilisant LDAP. Le module a une classe qui doit effectuer une requête http vers un autre service distant en utilisant les mêmes informations d'identification ldap de connexion.Envoi d'informations d'identification dans un en-tête HTTP à un serveur sécurisé

J'ai la classe LDAP qui implémente l'authentification dans le service distant.

Je ne sais pas comment envoyer les informations de connexion de Module1 au service distant dans l'en-tête http. Comment puis-je accéder aux informations d'identification que j'ai utilisées pour la connexion Ldap de Module1 par programmation? Vos réponses seront très appréciées.

Répondre

1

Vous pouvez opter pour l'authentification de base, dans laquelle les informations d'identification de l'utilisateur seront codées et envoyées via l'en-tête. Assurez-vous de sécuriser l'appel de Module1 vers le service distant, donc essentiellement l'appel de Module1 vers Remote Service se fera via HTTPS

0

Si vous utilisez LDAP, l'authentification peut être transmise comme Basique. 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. Faites-moi savoir si cela ne fonctionne pas. Dans ce cas, nous pouvons explorer les options en utilisant SPNEGO.

code pour LDAP en JAVA:

public class Main 
{ 
    public static void main(String[] args) 
    { 
    //Replace username and password with your username and password 
    token = Base64.getEncoder().encodeToString((username + ":" + password).getBytes()) 
    conn = (HttpURLConnection) endpoint.openConnection(); 

    // Set the necessary header fields, which in this case is Basic 
    conn.addRequestProperty("Authorization", "Basic " + token); 

    //Continue to do what you want to do after this. This should authenticate 
    // you to the server 
    } 
}