Наше приложение построено на VB6 и поставляется в модели SaaS через Citrix.
Наши подписчики должны сначала пройти аутентификацию на Citrix Login Portal (AD), который предоставляет им доступ к их приложениям. Каждое приложение имеет свой собственный локальный репозиторий пользователей, поэтому, за исключением случаев, когда мы реализовали некоторые стратегии единого входа, пользователь должен ввести второй уровень учетных данных.
Теперь рассмотрим, что мы намереваемся заменить портал Citrix на портал сервисов Sharepoint, который позволит нам публиковать контент .net при поддержке Citrix Web для устаревших приложений.
Мы разрабатываем приложение Silverlight (с использованием RIA Services), которое будет подключаться к базе данных SQL (где содержатся права входа пользователя в систему и разрешения безопасности). Однако сначала мы заглушили приложение с помощью Forms Authetication, что привело к дискуссии о нашей предполагаемой модели развертывания.
Чтобы использовать это приложение, вы должны сначала пройти аутентификацию на сайте Sharepoint, используя свои учетные данные Windows, поэтому это приводит к аргументу, что приложение должно быть настроено для аутентификации Windows. Если вы попытаетесь создать глубокую ссылку на приложение без аутентификации на портале, вы должны будете перенаправлены на страницу входа в систему портала.
Каков наилучший подход для реализации второго уровня аутентификации в приложении? Есть ли способ продолжать использовать формы на основе, но запретить доступ к приложению, если пользователь сначала не прошел аутентификацию на портале?