Защита паролем папки с помощью web.config - PullRequest
8 голосов
/ 29 сентября 2011

Я должен защитить паролем каталог на сервере Windows.На странице должен отображаться список файлов, расположенных в этом каталоге.У меня нет никаких предыдущих знаний (раньше работал только с Apache), поэтому я попытался что-то взломать, прибегая к помощи Google.(Для тех, кто знает, что они делают, я уверен, что это будет выглядеть нелепо)

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

Это то, что у меня сейчас есть в моем файле web.config, который находится в папке, которая должна быть защищена паролем.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.web>
        <authentication mode="Forms">
            <credentials passwordFormat="Clear">
                <user name="test" password="test" />
            </credentials>
        </authentication>
        <authorization>
            <allow users="test" />
            <deny users="*" />
        </authorization>
    </system.web>
    <system.webServer>
        <directoryBrowse enabled="true" />
        <security>
            <authentication>
                <anonymousAuthentication enabled="false" />
                <basicAuthentication enabled="true" />
                <windowsAuthentication enabled="false" />
            </authentication>
        </security>
    </system.webServer>
</configuration>

Надеюсь, это простая проблема, и заранее спасибо за любую помощь!:)

1 Ответ

3 голосов
/ 29 сентября 2011

Попробуйте это:

<configuration>      
    <system.web>      
        <authentication mode="Forms">      
            <credentials passwordFormat="Clear">      
                <user name="test" password="test" />      
            </credentials>      
        </authentication>      
        <authorization>      
            <allow users="test" />      
            <deny users="*" />      
        </authorization>      
    </system.web>      
    <location path="admin">
        <system.web>
            <authorization>              
                <allow roles="admin" />
                <deny users="*"/>
            </authorization>
        </system.web>
    </location> 
    <system.webServer>      
        <directoryBrowse enabled="true" />      
        <security>      
            <authentication>      
                <anonymousAuthentication enabled="false" />      
                <basicAuthentication enabled="true" />      
                <windowsAuthentication enabled="false" />      
            </authentication>      
        </security>      
    </system.webServer>      
</configuration>

Вы можете зашифровать информацию о пользователе, используя что-то вроде этого:

aspnet_regiis.exe -pef "sectionName" C:\Path\To\Your\Application
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...