2008-11-07 11 views
3

J'utilise .net2.0 et IIS6. Lors de l'utilisation des formulaires .net Authentification: Comment limiter l'accès aux ressources comme les fichiers pdf aux utilisateurs authentifiés seulement; donc pour accéder à un fichier disons mysite.com/mydoc.pdf il faudrait d'abord les authentifier (passer par la page de connexion).NET Forms Authentication: Comment limiter l'accès aux ressources comme les fichiers pdf aux utilisateurs authentifiés seulement

Il semble que par défaut seules les pages .aspx sont protégées. Par exemple. pour inclure le .html, je devais suivre les étapes décrites here.

EDIT

Merci les gars pour des réponses très rapides, le answer by Keltex a parfaitement fonctionné pour moi comme je l'avais besoin d'une solution rapide pour un système de démonstration.

D'autres réponses sont également très intéressantes et seront utiles pour le système de production.

Vous êtes plus alors bienvenue pour poster d'autres réponses

Répondre

3

Vous pouvez stocker les fichiers dans un répertoire qui ne sont pas directement accessibles via le web, et les utilisateurs doivent visiter une page ASPX avec un ID pointant vers le fichier dont ils ont besoin Télécharger. À ce stade, vous diffusez le fichier sur eux.

+0

Bonne réponse pour les environnements d'hébergement où il n'y a aucun contrôle sur l'ajout de caractères génériques. – Kev

0

Avez-vous un accès anonyme désactivé? si vous avez juste auth Windows intégrée, il devrait bloquer tous les accès si vous configurez votre config web avec ces paramètres

2

Créer un HttpHandler qui vérifie l'utilisateur authentifié avant diffusion du document sur le navigateur. Ensuite, vous pouvez définir le lien sur la page pour pointer sur le hander avec un identifiant de document au lieu du fichier directement. Une fois que cela est fait le document peut être stocké assez près de n'importe où vous choisissez, étant le système de fichiers ou la base de données ou même encodé dans un fichier XML si vous le souhaitez. Ceci est utile lorsque vous souhaitez déplacer l'emplacement de stockage mais que vous ne souhaitez pas mettre à jour tous les liens de l'application Web.

Liens utiles: http://msdn.microsoft.com/en-us/library/system.web.ihttphandler