Как ограничить доступ к папкам в asp.net например, я не хочу, чтобы какой-либо другой видел мою папку Uploads в браузере по ссылке http://www.example.com/Uploads
Как ограничить доступ к папкам в asp.net
Ответ 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
Надеюсь, что это поможет...
Счастливое программирование,