Authentification IIS automatique

iis_noubaille -  
sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Mon pb : permettre à des utilisateurs de lire le contenu d'un répertoire protégé sur un serveur IIS, sans que ces utlisateurs aient à taper le usr/passwd

Le contexte : les utilisateurs se connectent avec IE à un portail web, où ils doivent saisir leur usr/passwd.
S'ils sont authentifiés je leur donne l'url d'un répertoire temporaire publié sous IIS, depuis lequel ils peuvent downloader des fichiers.

Comme il s'agit de données confidentielles ce répertoire est protégé par usr/passwd (différents de ceux de l'utilisateur)

Mon client souhaite que les utilisateurs n'aient pas à saisir ce deuxieme mot de passe... Comment faire?

(nb : je peux mettre ce couple usr/passwd en clair dans le code html ou javascript coté client. Simplement je ne sais pas du tout comment déclencher l'ouverture de la session windows sans passer par la petite popup qui demande le couple usr/passwd)

Merci d'avance. Désolé si je m'explique mal, c'est la premiere fois que je met le nez dans IIS.

NB pour ceux qui connaissent Apache : ca ressemble à trouver comment acceder à un repertoire Apache protégé par .htaccess sans que la popup apparaisse.

3 réponses

sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 667
 
Regarde du côté de NTLM (authentification NTLM).

Explications: Quand un utilisateur est connecté sous Windows, IE envoie les informations d'authentification dans les requêtes HTTP.

Donc, on peut utiliser le compte Windows pour accéder à des pages protégées sur un serveur web.

Soucis: le login doit être celui de Windows (toi, tu veux un login différent).
Autre soucis: ça ne marche que sans IE (peut-être Opera, mais je doute que ça marche dans Firefox).
0
iis_noubaille
 
Merci pour la réponse.

Finalement je m'en suis sorti avec une pirouette.

Pour faire les download j'ai utilisé un activeX (cuteUpload) qui implémente une procédure d'authentification basée sur l'"authentification de base" de IIS.
Ca ne fonctionne donc que sous Internet Explorer et il s'agit d'un composant payant, mais ça marche, ce qui est le principal pour moi!

Cependant la question reste ouverte : comment faut il s'y prendere pour bricoler les entetes HTTP de manière à envoyer le login et passwd de cette authentification de base? (en javascript par exemple)
0
sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 667
 
comment faut il s'y prendere pour bricoler les entetes HTTP de manière à envoyer le login et passwd

IE envoie l'authentification NTLM. Ce n'est pas le login et mot de passe, mais un token (si ma mémoire est bonne).
IIS est capable de contrôller la validité de ce token vis-à-vis d'un controlleur de domaine ou un ActiveDirectory.

Je ne suis pas un spécialiste de NTLM... ---> googler là dessus.

Regarde dans les options de IIS (dans les propriétés de ton site): il y a des options pour activer NTLM (je n'ai plus IIS sous la main, je ne pourrai donc pas te montrer).
0