ACS установлен, но приложение MVC 4.0 по-прежнему перенаправляет и не может найти login.aspx

Первая публикация здесь о stackoverflow, но мне нравится этот сайт! …

Я успешно создал полностью работающее приложение гибридной модели Azure с использованием MVC 4. Опубликовано и отлично работает. Теперь я хочу добавить ACS для авторизации на свой сайт. Я выполнил все шаги, но когда я запускаю приложение в моделировании, оно не может перенаправить в ACS и предлагает страницу, на которой говорится, что не удалось найти login.aspx.

У меня есть создал простое решение для веб-сайта, чтобы доказать, что мой ACS настроен правильно и работает нормально. Я заметил, что файлы web.config двух решений сильно различаются.

Кто-нибудь еще пробовал это сделать? Приветствуем любую помощь.

——— Решение ————

Наконец-то все заработало. Ключевым моментом было удаление ссылок WebMatrix.WebData , поскольку мне не нужно было выполнять свою собственную аутентификацию. Следующее взято из примечаний к выпуску MVC4.

Когда WebMatrix.WebData.dll включен в каталог/bin приложений ASP.NET MVC 4, он принимает URL-адрес для проверки подлинности с помощью форм. Добавление сборки WebMatrix.WebData.dll в ваше приложение (например, путем выбора «Веб-страницы ASP.NET с синтаксисом Razor» при использовании диалогового окна «Добавить развертываемые зависимости») переопределит перенаправление входа при аутентификации на/account/logon, а не на/account. /войти в систему, как ожидалось контроллером учетных записей ASP.NET MVC по умолчанию.


Откройте файл web.config.

Найдите узел аутентификации.

Измените его с:

     

Кому:

    

Прокомментируйте здесь, если это не помогает, и каков результат после изменений в web.config.

В качестве побочного вопроса — как вы добавили ссылку на пространство имен ACS — через «right щелкните -> Добавить ссылку STS »или вручную изменили web.config?

Убедитесь, что необходимые модули зарегистрированы на веб-сервере:

        ... webServer>  

Также убедитесь, что у вас есть раздел microsoft.identityModel и внутри него есть узел federatedAuthentcation:

        

Где «realm» должен быть действительным URL-адресом для приложения Realying Party. И requireHttps = «false» предназначен для упрощения процесса разработки.

При локальной отладке убедитесь, что вы запускаете облачный проект (который использует IIS), а не веб-проект (который будет использовать Cassini/webdevserver, который не понимает раздел system.webServer!)

Оцените статью
motary.ru
Добавить комментарий