У нас есть внешний веб-сайт PHP, работающий на сервере Digital Ocean.
У нас есть внутренняя сеть Windows.
-
Мы знаем, когда выполняется приложение PHP в IIS в той же сети мы можем включить модуль, который будет совместно использовать учетные данные пользователя с приложением для аутентификации.
Однако возможно ли автоматизировать процесс входа в систему, когда 2 сервера полностью разделены?
Нет. Ваш сетевой вход зависит от доступа к активному каталогу, которого у внешнего сервера, вероятно, нет, хотя вы МОЖЕТЕ что-то сделать с репликацией в Azure AD, а затем пойти против этого, но это ОЧЕНЬ сложно и требует значительных изменений в вашей инфраструктуре.
Хотя TomTom в принципе прав в том, что объекты Windows разделены, поэтому вы не можете использовать учетные данные, вы можете найти обходной путь:
Вы можете предоставить логины на основе сертификатов пользователя. Поскольку сертификаты хранятся в браузере пользователей, вы можете автоматизировать вход в систему таким образом. Все основные браузеры поддерживают это.
IIS даже имеет встроенную опцию: Проверка подлинности с сопоставлением сертификатов клиента
См. Официальную документацию: https://docs.microsoft.com/en-us/iis/configuration/system.webserver/security/authentication/clientcertificatemappingauthentication
Этот метод работает без серверной части AD Bing. Однако вам потребуется управлять сертификатами клиентов на сервере IIS.