Запретить доступ к папке «admin» в web.config - PullRequest
19 голосов
/ 28 января 2011

Я новичок в ASP.NET, так что простите, если это просто.

Я пытаюсь запретить доступ к своей папке «Admin» через web.config. Я посмотрел другой ответ на похожий вопрос, и они рекомендуют использовать папку <location>, однако, когда я вставляю «Admin /» в путь, я получаю следующую ошибку:

атрибут пути должен быть относительный виртуальный путь. Это не может начать с любого из '' '.' '/' или же '\'. C: \ Личные \ Проекты \ OliverSalon \ web.config

Я попытался разместить "Admin", "/ Admin" и "Admin /"

<configuration>

<connectionStrings>
    <add name="OliverSalonConnectionString1" connectionString="Data Source=localhost;Initial Catalog=OliverSalon;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
    <compilation debug="false" targetFramework="4.0" />
    <authentication mode="Forms">
        <forms name="Oliver" loginUrl="Login.aspx" path="/" timeout="20">
            <credentials passwordFormat="Clear">
                <user name="OliverSalon" password="cuts"/>
            </credentials>
        </forms>
    </authentication>
    <authorization >
        <deny users="?"/>
    </authorization>
</system.web>
<location path="/Admin">
    <system.webServer>
        <directoryBrowse enabled="false"/>
    </system.webServer>
</location>

1 Ответ

24 голосов
/ 28 января 2011

Это время, прошедшее с моих дней в веб-форме.

Поместите файл web.config в папку администратора.

Содержание должно быть:

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

** РЕДАКТИРОВАТЬ, чтобы ответить на ваш вопрос. Если вы установите URL-адрес для входа, платформа автоматически отправит вас на страницу входа, если неавторизованный пользователь попытается получить доступ к вашей папке администратора.

        <authentication mode="Forms">
            <forms loginUrl="Login.aspx" timeout="20" slidingExpiration="true" cookieless="AutoDetect" protection="All" requireSSL="false" enableCrossAppRedirects="false" defaultUrl="Default.aspx" path="/"/>
</authentication>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...