Почему я продолжаю сталкиваться с проблемой аутентификации на главном сайте при выполнении HTTP POST для дополнительного приложения? - PullRequest
0 голосов
/ 03 января 2011

Я надеюсь, что кто-то может помочь указать на мое невежество, решив эту проблему ...:)

Я только что установил новый сайт DNN на http://www.digitalrefraction.com,, и там все работает нормально. У меня также есть несвязанное приложение ASP.Net MVC 2.0 (с URL-адресами без расширений - для чего это стоит), работающее в подпапке этого домена по следующему URL-адресу: http://www.digitalrefraction.com/refractor

Я могу нормально выполнять запросы HTTP GET к моему подприложению. Однако, когда я делаю POST, я получаю диалоговое окно «Требуется аутентификация», которое гласит: «Введите имя пользователя и пароль для http://www.digitalrefraction.com".

Теперь я в замешательстве. Почему POSTS и GETS в основном домене работают нормально, но когда я выполняю POST для вспомогательного приложения, меня оспаривают для проверки подлинности основного домена? Но ПОЛУЧАЕТСЯ, чтобы субприложение работало!

Да, я проверил основной сайт DNN web.config и не нашел никаких записей авторизации. Я попытался добавить некоторые, чтобы разрешить анонимный доступ к / refractor, но это не имело никакого значения. Также проверил мои подпрограммы web.config. Я несколько растерялся.

Обратите внимание, я имею в виду подпрограмму (подпапку), а не поддомен.

Будем весьма благодарны за любые советы, идеи или прямые ответы. :)

Thanx.

1 Ответ

1 голос
/ 04 января 2011

Хорошо, спасибо Cybernate, я посмотрел на все это.По сути, вход в мое подпрограмма не работал, и в результате контроллер, который обрабатывал HTTP-запрос POST и требовал безопасности, вызвал проблему аутентификации.

Причина, по которой вход не былработа происходила из-за всей установки вложенного приложения и наследования от корневого сайта DNN web.config.

Конкретная проблема;приложение выдавало ошибки из-за некоторых настроек, которые оно унаследовало от корневого web.config, поэтому я вставил <clear /> в верхнюю часть некоторых разделов, таких как httpmodules , чтобы избавиться от унаследованных модулей DNN.Оказывается, есть некоторые модули, загруженные по умолчанию, которые не указаны в файле DNN web.config.Некоторые из них связаны с аутентификацией.Поэтому очистка их в основном сломала мой логин.

В конце вместо <clear /> я добавил <remove ... /> для каждого из DNN httpmodules , которые были настроены в DNN web.config,Таким образом, я избавился от вещей, которые мне не нужны / не нужны, но все же сохранил модули, которые были необходимы для работы моего приложения.

Это была серьезная боль, но я рад, что все кончено!Совет: держитесь подальше от вложенных приложений ASP.Net, если только они вам действительно не нужны.

Если подумать, разве нет параметра (глобального для области приложения), который означает "НЕ НАСЛЕДОВАТЬ НИКАКИМИ НАСТРОЙКАМИ ИЗЛЮБОЕ ПРИМЕНЕНИЕ РОДИТЕЛЯ / web.config "?Это было бы чрезвычайно полезно!

...