2009-09-26 7 views
0

Quelles stratégies fonctionnent bien pour identifier la machine à partir de laquelle l'utilisateur navigue?Authentification (ou même identification) de la machine cliente dans ASP.NET

Hypothèses: Utilisateur de domaine sur une machine de domaine utilisant IE et l'authentification Windows intégrée avec au moins NTLM.

Cela DEVRAIT être facile, mais je ne peux pas trouver comment vous pouvez tirer cette information sur demande ou tout autre trou. Les certificats par client semblent beaucoup de frais généraux (et je ne sais même pas si vous pouvez accéder aux informations de certificat via Request). J'ai également pensé à un schéma basé sur l'adresse MAC ... ick. Calgon, emmène-moi!

Répondre

1
+0

/facepalm ... c'est génial. J'ai l'impression qu'il est sujet aux caprices du DNS inverse, ce qui peut être un problème pour nous. Je vérifierai. Merci. – BnWasteland

0

Request.UserHostName effectue une recherche DNS inversée sur l'adresse IP dans l'en-tête HTTP. Pour nos fins, cela va être trop peu fiable. Merci à RM pour le pointeur. En fin de compte, je crois que nous allons recommander des certificats par client, et suivre nos informations spécifiques à une machine dans une base de données basée sur Request.ClientCertificate.

0

Vous pouvez également essayer d'envoyer un ping de type nbtstat à l'adresse IP de la demande. L'enregistrement de 20h dans la réponse sera le nom d'hôte. Une recherche google a révélé plusieurs exemples de code pour cela.

Cela vaut la peine d'essayer, il semble que ce serait plus facile que de distribuer et de maintenir des certificats par client.