2010-05-17 3 views
0

Я строю три веб-приложения в .NET, которые будут совместно использовать базу данных пользователей и информацию для входа. Давайте сделаем вид, что приложение 1 является «родительским» приложением, а приложения «A» и «B» - это «дочерние» приложения. Все пользователи должны войти в приложение 1, чтобы иметь доступ к приложениям A и B.Single Sign On с 3 приложениями

Сайты авторизации, аутентификации и MachineKey присутствуют и работают правильно.

У меня есть правильные настройки web.config во всех приложениях для достижения единого входа, кроме одной, остается проблема: что я кладу в атрибут «loginUrl» тега форм в приложениях А и Б.

Предположим что URL-адрес для входа в приложение 1 «www.johnsapp.com/login.aspx» Как я могу получить приложения A и B, чтобы отправить пользователя обратно в приложение 1 для аутентификации, используя только настройки в web.config?

ответ

0

Как насчет проверки подлинности Windows?

+0

Приложения используются внешними пользователями, поэтому проверка подлинности Windows не является вариантом. Спасибо за ответ! –

1

Вы можете использовать

if (!Request.IsAuthenticated) 
    Response.Redirect("~/Login.aspx?ReturnUrl=~/thisurl"); 

в функции Page_Load в коде. Это будет перенаправлено автоматически.

+0

Я думал об этом, но это кажется немного kludgey. Мне интересно, есть ли решение, которое может быть реализовано в файлах web.config приложений A и B –

+0

Это отвечает на вопрос, как указано, возможно, захочет обновить вопрос с помощью конкретного запроса для решения web.config. – mwright