2009-10-09 13 views
2

Quel serait le moyen le plus simple de protéger un répertoire dans asp.net mvc?Comment protéger un répertoire dans asp.net MVC?

Actuellement, j'ai un dossier de fichiers misc qui appartiennent à de nombreux utilisateurs du site. Idéalement, je ne veux pas qu'un utilisateur puisse saisir l'URL d'un de ces documents dans un navigateur et y avoir accès. Ces fichiers ne doivent être téléchargés que via une action du contrôleur qui autorisera le téléchargement en vérifiant les informations d'identification des utilisateurs et en retournant un fichier.

Merci à l'avance

Répondre

2

Ma solution à ces problèmes est généralement d'avoir ce répertoire hors de la capacité d'accès du web. Par exemple, au lieu de les stocker sur c: \ inetpub \ wwwroot \ docs, il suffit de les stocker dans C: \ inetpub \ docs.

Assurez-vous simplement que votre contrôleur a lu /? privilèges

Cela posait la meilleure solution pour moi lorsque j'ajoutais/supprimais des dossiers, car mon hôte limitait ma capacité à éteindre le moniteur de fichiers. Et il se trouve que la suppression d'un sous-dossier d'une application provoque une piscine app recyclage> _ <

+0

Merci les gars, je donnerai ce approcher un aller. J'espère juste que mon hôte me permet d'avoir un accès en lecture/écriture en dehors de public_html – Sergio

7

stocker les fichiers dans les données d'application et que votre action du contrôleur lire le fichier et le rendre comme FileResult. De cette façon, les fichiers ne sont jamais exposés directement.

+0

Assurez-vous que le AuthorizeAttribute est sur l'action si vous utilisez des formulaires authentification basée sur – Geoff

Questions connexes