Faire indexer par Search Server 2008 Express un site web protégé avec une authentification par formulaire

Microsoft Search Server 2008 Express fournit théoriquement une interface web permettant de rentrer des identifiants différents du compte de recherche par défaut. Pour cela il suffit normalement de cliquer sur Règles d’analyse dans le menu de gauche, puis sur Nouvelle règle d’analyse. La nouvelle page qui s’affiche nous permet alors de rentrer l’adresse de la page de login et une pop-up est sensée enregistrer les données d’authentification pour la page. Malheureusement cela ne marche pas du tout ! La pop-up déclenche des dizaines d’erreurs JavaScript et n’enregistre nullement les informations de connexion.
 
Cette interface web ayant été spécifiquement développée pour Search Server 2008, on peut utiliser une méthode qui s’applique dans ce cas pour son grand frère, MOSS 2007. Pour cela il faut télécharger un petit utilitaire en ligne de commandes, mis à disposition par Microsoft appelé AddRule.exe (disponible ici).

Addrule prend en paramètre un fichier xml décrivant les paramètres d’authentification pour une url ou expression régulière désignant un ensemble d’url. Ce fichier le voici :
 

Fig 1
 

Voici la liste des champs et leur signification :
•    Path : L’url ou l’expression régulière regroupant les url sur lesquelles doivent s’appliquer la règle.
•    Type : Le type d’authentification utilisé. Deux valeurs sont possibles.
o    FORMS

o    COOKIE

•    Error_page : Url de la page d’erreur sur laquelle sera redirigé le robot si l’authentification échoue.

Les champs suivants ne s’appliquent que si le type est FORMS.

•    Auth_url : L’url à laquelle le robot renvois le formulaire en POST afin d’obtenir le cookie d’authentification.
•    Login_type : Indique si le formulaire doit être envoyé en GET ou en POST.
•    Parameters : Liste des paramètres que doit renvoyer le robot si Login_type est POST.
•    Param : Il s’agit d’un couple nom/valeur que le robot doit envoyer en POST au serveur Web.


Les champs suivants ne s’appliquent que si le type est COOKIE.

•    Cookies : Liste des cookies que le robot doit ajouter au header de la requête web.
•    Cookie : Un cookie à ajouter.

Dans le cas d’une authentification par formulaire en POST, le plus délicat est donc de récupérer la liste des paramètres que le robot doit transmettre au serveur Web afin de s’authentifier. Pour récupérer cette liste on peut utiliser un débugger de proxys web tel que Fiddler (disponible ici).

Une fois Fiddler installé, lancez-le. Ouvrez à présent votre Internet Explorer (fiddler n’a pas l’air de très bien marcher avec Firefox) et rentrez l’url voulue. Vous devriez donc atterrir sur la page d’authentification de votre site. Rentrez les identifiants et mot de passe adéquat et validez votre saisie. Vous pouvez fermer votre navigateur et repasser au premier plan Fiddler. Dans la liste de gauche (la liste des sessions web capturées), repérez et cliquez sur la ligne correspondant à votre page d’authentification (fig 2).
 
Fig 2
 
Dans la fenêtre de droite, cliquez sur l’onglet Session Inspector au sommet de la fenêtre, puis sur Raw à la ligne juste au dessous. Vous voyez à présent une zone de texte de la forme cle1=valeur1&cle2=valeur2… (Fig 3)


Fig 3
 
 
Ce sont ces couples clé/valeur qui faut rentrer en tant que clé/valeur param dans le fichier xml de règles de addrule.

Notre fichier étant prêt, il suffit de lancer l’utilitaire en entrant la commande « addrule monfichier.xml » dans une invite de commande Windows. Addrule vous indique si tout s’est bien passé et le cas échéant vous informe de l’erreur rencontrée. Une fois votre, ou vos règles créées il suffira de retourner sur l’interface web d’administration de Search Server (dans la partie Règles d’analyse) pour les modifier et les enrichir.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Related posts

Add comment


(Will show your Gravatar icon)  

[b][/b] - [i][/i] - [u][/u]- [quote][/quote]



Live preview

November 21. 2008 14:39