Остановить загрузку документов от неавторизованных пользователей - PullRequest
2 голосов
/ 29 июня 2011

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

При загрузке файла он создает папку, используя ID пользователя в качестве имени папки, и сохраняет ее в папке, которая называется документами, например, ~ Документы / 77b29079-43d6-4520-bc34-77ae2af1b131 / documentname.xls

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

Что я могу сделать, чтобы остановить доступ к этим файлам? Я попытался отредактировать файл web.config, чтобы разрешить доступ только к определенным ролям, но я все равно мог загрузить документ без входа в систему.

<location path="documents">
    <system.web>
        <authorization>
            <allow roles="Admin, Client"/>
            <deny users="*"/>
        </authorization>
    </system.web>
</location>

Спасибо за вашу помощь. J.

1 Ответ

1 голос
/ 29 июня 2011

Ссылка, предоставленная @ rlb.usa в комментариях, имеет два хороших метода.Другой альтернативой является хранение документов в базе данных и использование кода приложения или безопасности базы данных, чтобы определить, кто имеет к чему доступ.Это, конечно, идет с другим набором проблем и преимуществ.Если вы используете SQL Server, это поражает некоторые плюсы и минусы.

...