Как реализовать Зингель Sign On (SSO) в кросс-домен MVC4 веб-приложенийКак реализовать единый вход в MVC4
ответ
И наконец, я могу реализовать. Ниже перечислены шаги, которые я сделал
- Войти в App1
- Получить Варианта Войти с App2
- Нажмите на кнопку «Вход с App2»
- Перенаправление экране входа App2
- по щелчку кнопки входа в приложение 2, которая перенаправляется на SSOInMVCWcfService. Здесь метод Login вызывает метод Аутентификация службы App1, т. Е. SSOAuthService. Если аутентифицируется, то генерирует токен для этого имени пользователя, а также извлекает идентификатор пользователя из службы App1.
- После того, как маркер и идентификатор пользователя были получены для этого пользователя с проверкой подлинности, эти значения вводятся в таблицу, например «SessionDetails» в базе данных.
- Затем отправьте идентификатор пользователя и токен для текущего пользователя в App2.
- Теперь App2 отправляет returnurl, то есть URL-адрес аутентифицированной страницы app1 вместе с идентификатором пользователя и токеном на страницу входа в App1, добавив эти значения в виде файлов cookie в объекте Response.
- Теперь на странице входа в App1 эти файлы cookie извлекаются и на основе идентификатора пользователя текущее имя пользователя извлекается из таблицы «SessionDetails».
же домен SSO может быть легко достигнуто путем установки domain
свойство куки проверки подлинности форм в корень домена и настройки тех же машинных клавиш для обоих приложений.
Перекрестный домен SSO является более сложным. Существуют различные методы его реализации. Например, StackExchange использует локальное хранилище HTML5. Их механизм описан в this blog post
.
Вот некоторые из основных шагов:
- Настройки мастеров-домен для пользователей для входа в систему. Например logon.com
- Когда пользователь, не прошедший проверку подлинности, пытается получить доступ к защищенному ресурсу в некоторых из двух приложений, он перенаправляется в домен входа для аутентификации.
- Пользователь аутентифицируется, и домен входа в систему генерирует идентификатор сеанса, содержащий имя пользователя зарегистрированного пользователя. Этот идентификатор сеанса шифруется с использованием симметричного алгоритма с общим секретом между 3 доменами. Домен входа также устанавливает cookie для проверки подлинности форм, чтобы указать, что пользователь уже прошел аутентификацию.
- Область входа в систему переадресовывает обратно на защищенный ресурс, проходящий по идентификатору сеанса.
- Приложение, содержащее защищенный ресурс, расшифровывает идентификатор сеанса, чтобы извлечь имя пользователя и установить cookie для проверки подлинности форм в своем домене.
- Пользователь запрашивает защищенный ресурс во втором домене.
- Поскольку он еще не аутентифицирован, он перенаправляется в домен входа.
- Пользователь уже аутентифицирован в домене входа в систему, и сгенерирован и передан идентификатор сеанса с использованием того же метода.
- Второй домен расшифровывает идентификатор сеанса, чтобы извлечь имя пользователя и испустить файл cookie проверки подлинности для второго домена.
В качестве альтернативы шифрования имени пользователя в идентификатор сеанса, домен входа в системе может просто хранить эту информацию в общем (между 3 доменами) хранилищем данных и идентификатором сеанса будет просто идентификатором этой записи так что другие домены могут получить имя пользователя из этого общего хранилища данных.
Как идентификатор сеанса, который является зашифрованным общим секретом между тремя доменами. –
Наконец, я могу реализовать .. Ниже приведены шаги, которые я сделал –
@Darin Действительно хорошее объяснение, спасибо! – formatc
- 1. Как реализовать единый вход в .Net?
- 2. Как реализовать единый вход в django?
- 3. Как реализовать единый вход в mvc5?
- 4. Как реализовать единый вход для веб-приложений?
- 5. нужно реализовать единый вход в PHP
- 6. как реализовать единый вход в codeigniter php webservice
- 7. Как реализовать единый вход в моем проекте java?
- 8. Как создать единый вход?
- 9. Единый вход в asp.net
- 10. Единый вход в Java EE
- 11. Как проверить ЛЕКС вход как единый вход
- 12. Единый вход в несколько доменов
- 13. Единый вход реализации
- 14. Как реализовать единый вход во всем моем поддомене?
- 15. Как реализовать единый вход с использованием аутентификации Kerberos?
- 16. Единый вход sapui5?
- 17. Единый вход для openLDAP
- 18. Как реализовать единый заводской шаблон?
- 19. Как реализовать datetimepicker в mvc4
- 20. Единый вход со слиянием wiki
- 21. Единый вход с пружиной Безопасность
- 22. Единый вход между мобильными приложениями
- 23. Единый вход для веб-приложения
- 24. DNN единый вход через webservice
- 25. Единый вход по нескольким доменам
- 26. рубин единый вход метод метод
- 27. Drupal единый вход по доменам
- 28. Прозрачного сеанс пользователя в течение нескольких сайтов (единый вход + единый вход-офф)
- 29. Как использовать единый вход с ODBC?
- 30. Как получить единый вход для Mailchimp
Эй, что вы пробовали? также, если мы говорим SSO большую часть времени, когда он может участвовать в системе, и вам нужно лучше объяснить свой вопрос, чтобы получить реальный anwser. –
Я регистрирую одно веб-приложение, которое находится в MVC4. Теперь после проверки подлинности на этом сайте пользователь пытается выполнить какое-либо действие. Для выполнения этого действия пользователь перенаправляется на другое веб-приложение MVC4 с такими же учетными данными. Эти оба приложения находятся в одном и том же или другом домене. Но меня больше интересует Cross Domain Apps. Надеюсь, что эти детали уточнят мой вопрос. –