SSO на общедоступном веб-сайте: как определить, является ли пользователь локальным или нет - PullRequest
0 голосов
/ 22 мая 2018

В настоящее время я интегрирую SSO (SAML) в общедоступный веб-сайт, который позволяет локальным пользователям из определенной сети автоматически входить в систему, а публичным пользователям - входить в систему с использованием проверки подлинности с помощью форм.Когда пользователь вошел в систему, он видит веб-сайт как все, но у него есть меню администратора, которое позволяет ему перейти к бэкэнду.

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

Есть ли здесь какая-либо надлежащая методика, которая может помочь мне определить?Как это обычно делается, когда вы размещаете общедоступный веб-сайт с локальным SSO?Получая список публичных IP-адресов своей сети?По обнаружению ресурса с помощью браузера клиента?

1 Ответ

0 голосов
/ 22 мая 2018

Наиболее типичным решением является сравнение IP-адресов, а затем решение о том, какой метод аутентификации следует использовать.Неважно, кто выполняет или обрабатывает часть аутентификации, будь то вы или какое-либо другое решение SSO или IdP.В конце концов, локальный против внешнего приходит к вам, устанавливая правило и условие, которое делает это различие, и это правило, как правило, основано на шаблонах IP, которые должны быть реализованы вами или решением SSO / IdP.

Это решение не обходится без предостережений, поскольку IP-адреса могут быть подделаны.Итак, YMMV.

Также обратите внимание, что есть такая вещь, как SPNEGO, которая в основном работает со сценариями аутентификации на основе Windows внутри рабочих станций (например, библиотеки или лаборатории) в сочетании с Active Directory.Любой «локальный» пользователь, способный воспользоваться преимуществами SPNEGO, плотно подключившись к этой среде Windows / AD, должен иметь возможность «невидимого» входа в систему, в то время как внешние пользователи вне SPNEGO могут использовать authn и SAML на основе форм.Это может быть одно решение с учетом вышеуказанных допущений, и большинство решений SSO / IdP обеспечивают поддержку SPNEGO.

Обратите внимание, что в любом случае SPNEGO не для слабонервных разрабатывать и / или настраивать.

...