2010-01-16 7 views
1

Je veux protéger les fichiers dans un répertoire spécifique afin que les gens ne puissent pas les lier - mais j'ai encore besoin que mon programme soit capable de les rendre, donc le mot de passe protégeant le dossier réel ne fonctionne pas. Est-il possible de faciliter cela dans ASP.NET MVC? Évidemment, il s'agit plus d'ASP.NET, pas MVC - mais je ne peux pas utiliser des choses comme l'état de session et Postback et tel ...protéger les fichiers avec asp.net (mvc)

Répondre

2

Vous pouvez mettre ce répertoire en dehors du répertoire racine de l'application web (de sorte qu'il n'est pas accessible en utilisant une URL copiée) ou dans un répertoire où vous refusez tout accès en lecture à l'aide d'un fichier web.config.

puis accéder aux fichiers via une action qui nécessite que l'utilisateur actuel à être autorisé, par exemple:

public class FileController : Controller 
{ 
    [Authorize] 
    public ActionResult Get(string file) 
    { 
    return new File(Path.Combine(_rootPath, file); 
    } 
} 

Ensuite, vous pouvez accéder aux fichiers via une URL d'action, par exemple http://server/app/File/Get/test.txt.

+0

Cela n'a pas accompli ce que je voulais faire ici, mais cela m'a aidé avec un autre problème que j'ai dû résoudre. Merci! – Ciel

Questions connexes