2009-01-06 6 views
3

Je suis en train de développer un nouveau site web (ASP.Net, VB codebehind pages, .Net 3.5) pour remplacer un site "Classic ASP".Configuration de 'Cassini' (serveur de développement ASP.NET) pour les cartes CAC pour les tests - Comment?

Certaines pages sont «publiques» et les autres nécessitent une authentification - dans ce cas, cela se fait en lisant les cartes CAC émises par le DoD via le clavier. Maintenant, pour la 'production', ils configurent IIS afin qu'il fasse le challenge d'authentification (lire la carte et demander un PIN) quand il frappe un certain répertoire (/ secure dans ce cas) pour que toutes les pages dans cet arbre sont sécurisés. J'arrive au point où j'ai besoin de voir certaines informations sur la carte - mais quand je "F5" le site que je développe, tout le contenu de Request.Clientcertificate est vide - il n'y a pas de défi 'passe avec le serveur de développement ASP.Net Cassini.

Je vois des références à "configurer IIS pour mettre SSL sur le répertoire cible" - mais je n'exécute pas IIS sur ce PC de développement (pas plus que l'autre développeur qui va le faire dans peu de temps). Les personnes de support réseau le feront lorsque le site sera finalement copié en production, mais j'ai besoin de tester certaines fonctionnalités de sécurité maintenant.

Comment puis-je configurer le serveur fourni avec VS2008 pour lire la carte CAC et «charger» les variables de serveur/session que j'ai besoin d'interroger? Alternativement, y a-t-il quelque chose que je peux mettre dans les pages .aspx ou .aspx.vb elles-mêmes qui peuvent simuler ou déclencher le défi de sécurité?

Merci d'avance.

Répondre

4

Réponse courte. Cassini ne supporte pas ce genre de sécurité.

0

J'espère que vous avez trouvé une solution à cela maintenant ... mais juste au cas où, je vais vous dire que je fais un développement similaire et j'ai rencontré le même problème. La seule "solution" que j'ai trouvée était de simplement publier le site/page web sur un serveur avec IIS configuré pour exiger des certificats clients, etc ...

Bien sûr, cela ne vous empêche pas d'utiliser la fonction "debug" dans Visual Studio, mais il y a toujours la méthode d'injection des instructions de débogage dans le code [par exemple: response.write() suivi de response.end() si nécessaire] ... J'ai également construit une page que j'ai utilisée pour énumérer toutes les chaînes disponibles de request.clientcertificate(), et même plus tard l'a étendu pour courir un regex fourni pour rechercher le certificat entier ...

Espérons que ces idées s'avèrent utiles!

+0

Cela ne vous empêche pas d'utiliser Debug. Ouvrez simplement les propriétés du projet et allez dans l'onglet "Web". Définissez le projet pour utiliser IIS, et vous devriez pouvoir déboguer juste bien. –

+0

Je n'ai eu aucun problème à utiliser le débogage fourni par l'IIS * local *. Bien sûr, je ne peux pas déboguer la version sur notre machine de production mais c'est la production :) – David

+0

Visual Studio supporte le débogage à distance. Il fonctionnera avec votre ordinateur local exécutant IIS ou une machine distante exécutant le service de débogage distant. À partir de Visual Studio, choisissez Debug-> Attach to Process et sélectionnez le processus spécifique aspnet_wp.exe auquel vous souhaitez vous connecter. – RyanBrady

Questions connexes