2010-01-16 2 views
1

Я хочу защитить файлы в определенном каталоге, чтобы люди не могли ссылаться на них, но мне все равно нужна моя программа для их рендеринга, поэтому пароль, защищающий фактическую папку, выиграл Не работай. Есть ли способ облегчить это в ASP.NET MVC? Очевидно, что это больше о ASP.NET, а не MVC, но я не могу использовать такие вещи, как Session State и Postback, и такие ...защита файлов с помощью asp.net (mvc)

ответ

2

Вы можете поместить эту директорию за пределы корневого каталога веб-приложения (так, чтобы она невозможно получить с помощью скопированного URL-адреса) или в каталог, в котором вы запрещаете доступ к чтению с помощью файла web.config.

Затем доступ к файлам через действие, которое требует текущего пользователя будет разрешено, например:

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

Затем вы можете получить доступ к файлам через URL действия, например, http://server/app/File/Get/test.txt.

+0

Это не выполнило то, что я хотел сделать здесь, но это помогло с другой проблемой, которую я должен был выяснить. Благодаря! – Ciel

Смежные вопросы