Подтвердить что ты не робот

Как ограничить доступ к папкам в asp.net

Как ограничить доступ к папкам в asp.net например, я не хочу, чтобы какой-либо другой видел мою папку Uploads в браузере по ссылке http://www.example.com/Uploads

4b9b3361

Ответ 1

Для будущего поколения ответ, который работает для меня, - это использование скрытых сегментов.

Если вы хотите защитить, например, Uploads перейдите в свой корневой Web.config и добавьте в <system.webServer> следующий элемент:

<security>
  <requestFiltering>
    <hiddenSegments>
      <add segment="Uploads"/>
    </hiddenSegments>
  </requestFiltering>
</security>

Это предотвратит доступ всех пользователей к папке Uploads и его содержимому.

Ответ 2

Вы можете сделать, как @klausbyskov упоминает, добавить <authorization /> в корневой web.config, например:

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

или вы можете добавить файл web.config в папку, в которую вы хотите разрешить/запретить доступ, со следующим содержимым:

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

Конечно замените <allow /> и <deny /> своими правилами

Ответ 3

Вы должны добавить файл web.config в указанную папку и поместить в файл тег <authorization>, как описанный здесь.

Ответ 4

Вы можете управлять просмотром папок в настройках IIS.,

  • Откройте диспетчер IIS и перейдите в папку, которую хотите управлять.

  • В представлении "Возможности" дважды щелкните "Просмотр каталога".

  • На панели "Действия" нажмите "Включить/отключить".

Это для IIS7.

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

 appcmd set config /section:directoryBrowse /enabled:true|false

Надеюсь, что это поможет...
Счастливое программирование,