2009-03-26 6 views
4

Environnement: IIS 6.0, ASP.NET 3.5l'authentification Windows pour un seul fichier

J'ai la nécessité d'obtenir un seul fichier avec l'authentification Windows et que vous voulez juste faire en sorte que je comprends bien mes options.

  1. via IIS désactiver l'accès anonyme pour le fichier que je veux sécurisé, et faire est vérifié que sécurité intégrée de Windows
  2. Mettre le fichier dans son propre répertoire et déposer un fichier web.config là-dedans qui a la configuration de configuration d'autorisation pour ce répertoire pour exiger l'authentification de Windows

Existe-t-il un moyen de configurer la configuration Web pour contrôler l'accès à un seul fichier? L'un des attributs de sécurité m'aidera-t-il ici à verrouiller le fichier unique?

Merci à l'avance Kevin

Répondre

3

Placez le fichier dans son propre répertoire et déposer un fichier web.config là qui a la configuration de configuration d'autorisation pour ce répertoire d'exiger l'authentification Windows

Vous ne pouvez pas mélanger les fournisseurs d'authentification pour une seule application. Ainsi, par exemple, vous ne pouvez pas avoir l'authentification par formulaires pour ~/et l'authentification Windows pour ~/Secure. Vous pouvez être en mesure de contourner le problème en faisant ~/Sécuriser une autre application dans IIS - mais cela complique grandement le déploiement et les tests IMO.

J'ai rencontré ce problème en essayant de sécuriser des services ASMX avec l'authentification de base d'un domaine, mais en étant dans la même application que les pages authentifiées par formulaires. J'ai fini par pirater un défi d'authentification de base dans le service ASMX lui-même pour demander des informations d'identification.

0

Si vous voulez que le web.config à appliquer alors vous devez vous assurer que le répertoire dans lequel il est placé est un répertoire virtuel IIS. Cela devrait faire l'affaire car les restrictions de sécurité de web.config régiront tous les fichiers de ce répertoire.

2

Cela devrait être possible en utilisant la balise <location>.

http://support.microsoft.com/kb/316871

Je sais que dans le passé, je l'ai fait le contraire et l'a utilisé pour permettre l'accès à une ressource unique et a nié tous les autres utilisateurs non authentifiés. Devrait fonctionner de la même manière en sens inverse.

Questions connexes