Shibboleth и .NET

У меня есть требование, чтобы веб-приложение ASP.NET использовало Shibboleth для аутентификации. Кто-нибудь делал это раньше? Существуют ли библиотеки для поддержки вызовов метода? Или это только Java?

Ответ 1

Это определенно не Java-единственная вещь, там доступен модуль Apache для загрузки на сайте Shibboleth.

Я не знаю, есть ли что-то конкретное для .NET.

Мы реализовали Shibboleth некоторое время назад, и мы изначально пытались использовать Java-решения - это был кошмар. Приложения Java были плохо написаны, ошибочны и плохо документированы. Это была проблема после хлопот, и мы в конечном итоге решили использовать модуль Apache на выделенном сервере и переадресовать успешно прошедших проверку подлинности пользователей в наше приложение Tomcat. Модуль Apache был легким в настройке, настройке и работе.

Не знаю, поняли ли вы, но документация и сайт Shib невероятно трудно ориентироваться - это борьба за поиск полезной информации. Я действительно искал реализацию .NET там, но сдался!

Если наш опыт Java - это что-то сделать, я бы серьезно предложил настроить сервер Apache с установленным модулем Shibboleth и сэкономить себе мир боли.

Это хороший сайт для тестирования вашей установки Shibboleth, как только вы ее настроили: http://www.testshib.org/testshib-two/index.jsp

Если вы найдете хорошее .NET-решение, мне было бы очень интересно узнать об этом. Удачи!

Ответ 2

Я знаю, что это действительно старый вопрос, но я подумал, что смогу немного улучшить для тех, кто находит ответы от Google.

Как указано выше, вы действительно хотите настроить веб-сервер для загрузки модуля. Трудная часть shibboleth - это файл конфигурации, но если предположить, что кто-то еще в вашей организации использовал shibboleth, вы можете использовать их в качестве шаблона и его довольно легко.

Для аутентификации на основе .NET вам необходимо настроить Shibboleth в IIS. Конфигурация по умолчанию для IIS создает каталог под названием /secure, и все, что находится под ним, потребует аутентификации shibboleth (т.е. Будет перенаправляться поставщику удостоверений). Вы можете настроить его для покрытия других каталогов или даже ленивой проверки подлинности.

После того, как у вас есть экземпляр аутентификации, вы можете проверить заголовки, чтобы "прочитать" информацию, передаваемую вам провайдером идентификации. IIS обрабатывает вещи несколько иначе, чем Apache, но все еще довольно легко. Если вы просто хотите использовать имя пользователя, вы можете использовать HTTP_REMOTEUSER, хотя могут быть лучшие варианты; то есть Университет штата Огайо рекомендует использовать имя eduPersonPrincipalName.