Comment faire une identification transparente pour un Intranet ?

Signaler
Messages postés
9
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
18 mai 2008
-
Messages postés
1765
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
-
Bonjour,

Je viens de voir que répondre à un sujet ne le ramenait pas en tête de liste donc j'ai peur que mon message initial (posté ici) passe inaperçu.

J'ai donc un ch'ti problème d'identification pour un Intranet. Ou pour être plus précis, je cherche une solution plus simple que celle qu'on a trouvé (à savoir lancer un .bat à l'ouverture de session Windows qui ouvre une connexion sur un répertoire caché du serveur, pour y écrire un fichier ayant pour nom l'adresse IP de la machine cliente et contenant l'identifiant Windows de la personne connectée sur le domaine).

Le Problème :
L'idée en ce qui me concerne est d'identifier de manière transparente une personne à un Intranet. J'avais dans l'idée d'utiliser l'IP de la machine (chaque PC a une IP fixe sur le réseau interne), mais ça ne semble pas convenir au patron un peu paranoïaque. Donc l'idée suivante était d'utiliser le nom d'utilisateur de la personne connectée à l'ordi.
Je suis ouvert à toute suggestion, je dois avouer que tout ceci sort un peu de mon domaine de compétence (je suis spécialisé dans le développement PHP/MySQL et ActionScript, j'ai pas l'habitude d'aller trifouiller les sessions windows)...

Précisions :
- L'intranet (ce n'est pas négociable) est développé en PHP et hébergé sur un serveur Linux (Debian 3).
- Les machines du réseau interne sont toutes sous Windows 2000, les connexions au(x) domaine(s) sont évidemment gérées par un serveur Windows.
- Est envisageable l'utilisation éventuelle d'un activeX, d'un fichier temporaire, d'un cookie, ou encore d'un petit programme s'exécutant en début de session Windows.
- je crois qu'on doit pouvoir trouver un serveur IIS en réseau avec une base ODBC dans un coin, mais si on pouvait limiter au strict minimum les scripts et les serveurs, ça m'arrangerait ;)

PS :
Il paraît que c'est une question redondante et qu'il suffit de "récupérer les variables HKEY_CURRENT_USER dans la base de registre". Sachant cela, vous vous doutez bien que je ne prendrais pas la peine d'écrire un nouveau message si j'étais satisfait de ces réponses. Ca parrait peut-être évident pour tout le monde ici, ça ne l'est pas pour moi...

Merci de votre attention :)

3 réponses

Messages postés
1765
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
6
Ton affaire est un peu complexe, car l'identification dont tu parles est liée à l'utilisation du compte NT du domaine sur un serveur WEB IIS (en activant dans les options de sécurité l'authentification NT).
LE problème est que ton site est en PHP sur un serveur Unix, il faudrait donc déja savoir si ce serveur est inscrit dans le Domaine NT.

C'est-à-dire que les Utilisateurs du domaine NT peuvent utiliser leur Login/MDP sur la machine Unix.

Ensuite si c'est le cas, voir les options d'installation de ton Apache pour activer la sécurité NT. Alors, il ne suffira plus que de configurer les navigateur IIS pour faire que l'utilisateur utilse son compte courant sur les pages de l'intranet.

Romelard Fabrice (Alias F___)
Messages postés
9
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
18 mai 2008

Malheureusement, non, les serveurs sont bien séparés. Et la politique actuelle de la boite tendant vers la paranoïa, je doute que l'admin réseau ait envie de rendre les choses plus compliquées à gérer qu'elles ne le sont déjà, ne serait-ce que par peur d'ouvrir une grosse faille de sécurité sans s'en rendre compte. D'autant plus qu'en temps normal, les utilisateurs du réseau n'ont rien à faire sur le serveur Linux (si ce n'est en consultation WEB classique via navigateur).

On avait trouvé une piste qui semblait prometteuse avec $_SERVER['LOGON_USER'], mais si j'ai bien compris, ça ne marche qu'avec un PHP installé sur un serveur IIS utilisant une dll particulière. La seule chose dont je suis sûr, c'est que cette clef n'est pas définie avec les paramétrages actuels

Bref, on a décidé d'aller au plus simple - du point de vue programmation - c'est à dire un login de base. L'utilisateur aura à s'idenfier une fois avec un compte et un mot de passe spécifique. Ca lui fera un compte de plus (un 5ème) mais après tout, les cookies dépendent de la session utilisateur donc on peut les utiliser pour qu'il n'ait à s'identifier qu'une seule fois.
Restera à voir le problème des macs, qui ne sont pas encore tous sous l'OS X donc utilisateur anonyme. Là encore on ira au plus simple : identification à chaque ouverture de l'Intranet. Tant pis.

Merci pour la réponse en tout cas ;) .

: : Daynos.net : :
Webmaster, développeur Flash MX et PHP
Messages postés
1765
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
6
Pour la réponse a ta question, il faut la poser sur phpcs.
J'ai fait du PHP mais il y a pas mal de temps et je n'ai pas eu cette config la.
Donc je ne peux pas te répondre dans ce cadre la.

Romelard Fabrice (Alias F___)