SSO (единый вход) в MVC - PullRequest
       10

SSO (единый вход) в MVC

3 голосов
/ 15 февраля 2011

кто-нибудь реализовал знак входа в MVC?Может ли кто-нибудь дать мне какой-нибудь пример для единого входа в MVC.

Ответы [ 3 ]

8 голосов
/ 15 февраля 2011

Я реализовал решение единого входа между несколькими приложениями ASP.NET MVC, размещенными в одном родительском домене (app1.domain.com, app2.domain.com, ...), используя проверку подлинности с помощью форм и установив domain свойство куки в web.config всех приложений:

<forms 
   name="ssoauth" 
   loginUrl="/login" 
   protection="All"
   timeout="120"
   requireSSL="true"
   slidingExpiration="false">
   domain="domain.com" 
/>

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

Если вы хотите реализовать междоменный SSO с использованием проверки подлинности с помощью форм, вот что вы можете сделать:

  1. Пользователь переходит на foo.com и выполняет вход. Приложение, размещенное на foo.com, использует стандартную проверку подлинности с помощью форм, ничего особенного.
  2. Пользователь решает перейти на bar.com и нажимает на созданную вами ссылку. Эта ссылка может содержать параметр токена, который будет содержать зашифрованное имя пользователя. Это шифрование может быть выполнено с использованием ключей машины и выглядеть примерно так: https://bar.com?token=ABC.
  3. Приложение, размещенное на bar.com, получает запрос и, поскольку оно использует такие же машинные ключи , как и другое приложение, оно способно расшифровывать токен и получение имени пользователя. Затем он просто входит в систему, отправляя локальный файл cookie для аутентификации, и пользователь автоматически входит в систему bar.com.
0 голосов
/ 02 декабря 2016

Пожалуйста, смотрите мой ответ здесь.В основном вам нужно установить режим аутентификации для окон на web.config и использовать класс HttpContext для получения идентификатора пользователя, который получает данные из Active directory

https://stackoverflow.com/a/40938106/950944

0 голосов
/ 23 июня 2015

Ниже приведен пример единого входа для сайтов с общим доменом. http://www.codeproject.com/Articles/27576/Single-Sign-on-in-ASP-NET-and-Other-Platforms

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...