Разрешить пользователям загружать файл в защищенную папку

#c# #asp.net #asp.net-membership

#c# #asp.net #asp.net-членство

Вопрос:

У меня есть страница для участников, чтобы загружать файлы в папку с именем UploadedFiles, где только администратор сайта может получить доступ к этой папке.

Внутри папки UploadedFiles находится файл web.config, содержащий следующий текст:

 <?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
        <authorization>
            <allow roles="Administrator" />
            <deny users="*" />
        </authorization>
    </system.web>
</configuration>
  

Есть ли какие-либо обходные пути, позволяющие обычным пользователям загружать файл в эту папку?
Я хочу, чтобы пользователи могли загружать файлы в защищенную папку, доступ к которой имеет только администратор.

Ответ №1:

Ограничение на папки с использованием web.config применяется движком IIS /ASP.NET. Вы можете использовать ASP.NET код, лежащий в основе file, для сохранения файлов в этой папке.

Итак, если у вас есть элемент управления FileUpload на любой из страниц, получите файл из элемента управления. Получите путь к загруженным файлам с помощью сервера.MapPath(«~/UploadedFiles») и сохраните файл в этой папке. Если пользователь IIS имеет доступ к этой папке, он сможет ее сохранить.

В принципе, это позволило бы любому пользователю сохранять файл в эту папку, но просматривать их могут только администраторы.

Комментарии:

1. Вопрос был у меня в голове. Я не тестировал это. Теперь я протестировал его, и он отлично работал. В любом случае спасибо.