Cette librairie permet d'encapsuler les appels vers GeoServer. Par défaut, seul un login et mot de passe peuvent être communiqués. L'objectif de ce billet est de décrire les évolutions à apporter afin de permettre le transfert d'un cookie dans chaque requête afin, par exemple, de transférer des informationns d'authentification SSO par exemple.
L'ensemble des modifications peut être factorisé au niveau de la classe HTTPUtils. Les méthodes suivantes doivent être modifiées :
public static boolean exists(String url, String username, String pw)L'instruction suivante doit être judicieusement inséré
public static String get(String url, String username, String pw) throws MalformedURLException
public static boolean httpPing(String url, String username, String pw)
public static boolean delete(String url, final String user, final String pw)
if (COOKIE_VAR!=null)avant l'appel de l'instruction suivante :
httpMethod.addRequestHeader("Cookie", COOKIE_VAR);
client.executeMethod(httpMethod);Pour alimenter la variable COOKIE_VAR, la déclaration suivante est nécessaire :
public static String COOKIE_VAR = null;
Au niveau de l'intégration de la librairie, il est nécessaire, avant chaque appel à la librairie d'appeler l'instruction suivante :
HTTPUtils.COOKIE_VAR = [<Nom du cookie>=<valeur du cookie>]
Aucun commentaire:
Enregistrer un commentaire