ASP.NET auth, исключить root и разрешить анонимность - PullRequest
3 голосов
/ 23 сентября 2010

У нас возникла странная проблема при настройке нового сервера Windows 2003 с IIS6.0 и ASP.NET 2.0, наш сайт построен с использованием аутентификации форм ASP.NET с общей авторизацией, чтобы запретить доступ всем пользователям и явно разрешитьстатические, домашние страницы и т. д. - настройка web.config для форм авторизации выглядит следующим образом:

     <authentication mode="Forms">
        <forms name="appNameAuth" path="/" loginUrl="~/Pages/Users/Login.aspx" protection="All" timeout="60" defaultUrl="~/Pages/Inner.aspx">
        </forms>
    </authentication>
    <authorization>
        <deny users="?"/>
    </authorization>

Проблема заключается в следующем:

Если мы обращаемся к сайту, как работает localhost / default.aspxхорошо и может просматривать домашнюю страницу нашего сайта, но если мы обращаемся с помощью localhost / - ожидаем просмотра default.aspx (так как он установлен в качестве документа по умолчанию), но по какой-то причине проверка подлинности на основе форм ASP.NET считает, что «/»Защищенная страница или содержимое и перенаправляет меня на страницу входа.

Я не смог найти способ сообщить "/" как allow = *, в web.config ... думал, что это может быть связано с некоторыми NTFS и IISРазрешение проблемы с папками, не может получить много обновлений о ..

Любая помощь, чтобы решить эту проблему, будет принята.

Спасибо

Бхаскара

1 Ответ

1 голос
/ 04 октября 2010

В выходные на наших серверах вновь появилась вышеупомянутая проблема ... при выполнении некоторых других изменений конфигурации и в конечном итоге была найдена основная причина проблемы (а не простой веб-сайт "повторного создания", предложенный ранее).

Вот проблема и решение:

  1. У нас есть основной веб-сайт в виде простого приложения на основе ASP.NET и НЕ MVC.

  2. Веб-сайт содержит 1 виртуальный каталог, построенный на платформе MVC и в соответствии с рекомендациями по включению MVC (http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx) - мы должны были установить шаблон .mvc и последующее сопоставление с подстановочными знаками для расширений без URL-адресов

  3. Ошибка, которую мы сделали, заключалась в том, что вместо настройки свойств MVC в виртуальном каталоге он был настроен на корневом уровне ... основной веб-сайт был настроен для форм-аутентификации и сопоставления с подстановочными знаками, что привело к запуску форм asp.net auth

  4. Проблема была решена при удалении подстановочного сопоставления в корневом каталоге и настройки только в виртуальном каталоге (который не был установлен с помощью аутентификации asp.net и разрешил анонимный доступ квсе страницы)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...