Использование безопасности каталога web.config и расширенных URL - PullRequest
3 голосов
/ 19 февраля 2010

Я бы хотел использовать встроенные функции безопасности каталогов, встроенные в web.config, чтобы ограничить доступ к дочерним страницам родительской страницы.Моя структура выглядит следующим образом:

  • Участники
  • Участники / Новости
  • Участники / Пресса
  • Участники / Фильмы

Пользователи должны иметь доступ к родительской странице участников, но не к дочерним страницам.Моя проблема в том, что я использую URL без расширений, и web.config считает, что это каталог, и поэтому доступ заблокирован.Есть ли способ сказать только ограничить доступ к подстраницам?

1 Ответ

3 голосов
/ 13 марта 2010

Эта конфигурация должна помочь. Он обеспечивает анонимный доступ ко всему сайту, за исключением дополнительных местоположений - для работы им требуется аутентифицированный пользователь.

<configuration>
    <system.web>
        <authentication mode="Forms">
            <forms loginUrl="Login" defaultUrl="Members" />
        </authentication>
        <authorization>
            <allow users="?" />
        </authorization>
    </system.web>

    <location path="Members/News">
        <system.web>
            <authorization>
                <deny users="?" />
                <allow users="*" />
            </authorization>
        </system.web>
    </location>

    <location path="Members/Press">
        <system.web>
            <authorization>
                <deny users="?" />
                <allow users="*" />
            </authorization>
        </system.web>
    </location>

    <location path="Members/Movies">
        <system.web>
            <authorization>
                <deny users="?" />
                <allow users="*" />
            </authorization>
        </system.web>
    </location>

</configuration>
...