SharePoint SSO с приложением PHP на другом сервере? - PullRequest
1 голос
/ 28 октября 2008

Мне нужно реализовать единый вход между сайтом SharePoint и настраиваемым сайтом на основе PHP, который находится в другом домене. Мне нужно использовать учетные записи пользователей SharePoint для входа на сайт PHP. (У меня будет полный контроль над источником PHP)

Возможно ли это? Любые советы и хитрости?

Ответы [ 3 ]

4 голосов
/ 28 октября 2008

Я предполагаю, что у вас есть полный контроль над вашим приложением / доменом php, но другой сервер управляет сервером sharepoint. Также предположим, что вы можете попросить команду sharepoint создать простую веб-часть для ваших функций единого входа.

В этом случае вы можете попросить команду sharepoint создать веб-часть, содержащую ссылку на ваш сайт. Когда пользователь щелкает ссылку, запрос отправляется обратно на сервер sharepoint, сервер sharepoint берет имя пользователя для входа в систему, шифрует его с помощью вашего открытого ключа и добавляет его в URL-адрес на вашем php-сайте, а затем отправляет в виде перенаправления назад. в браузер. Итак, местоположение выглядит так:

https://your.php.domain/sso.php?logon=encrypted_users_logon_name&api_key=some_token

Ваш сценарий sso.php проверит, что api_key является допустимым токеном от вашего партнера по sharepoint, а затем расшифрует имя входа пользователя, пытающегося войти. подтвердите, что запрос на вход в систему является допустимым в течение некоторого временного окна, или запишите его в зашифрованное имя для входа, но это простой способ сделать это, предполагая, что вы доверяете запросам, исходящим от партнера по sharepoint.

Разработчики sharepoint .net, вероятно, смогут выполнять любое шифрование, которое вы хотите, поэтому выберите алгоритм, который вы можете использовать как на стороне php, так и на стороне .net, и дайте им ключ для шифрования, а также формат информации для зашифровать. что-то вроде n = logon_name; expire = timestamp; затем, когда вы расшифровываете, если оно истекло, вы отказываете в регистрации.

1 голос
/ 28 октября 2008

Я не знаю много об этой области, но, надеюсь, это может помочь вам указать верное направление.

Исследовать LDAP ...

Вы можете настроить PHP для использования учетных данных LDAP. Если ваш сайт SharePoint использует Active Directory, вы можете предоставить этот каталог в качестве источника LDAP и использовать его в приложении PHP.

Автоматический вход ...

Возможность автоматического входа между каждым сайтом - это совсем другое дело. например Я уже вошел в MOSS, нажмите на ссылку, которая идет в приложение PHP, и обнаружите, что я уже вошел туда. Для этого вам нужно исследовать, используя что-то вроде ключей / аутентификации Kerberos. Это грязный и сложный район.

0 голосов
/ 24 сентября 2009

хорошо, мы были в такой же ситуации, но мы используем asp.net в сочетании с php для единого входа. код asp.net выполняет проверку подлинности Windows и создает запись в базе данных mysql, которая содержит имя пользователя и уникальный ключ, и присваивает эти значения cookie. затем перенаправляет пользователя в приложение PHP.

приложение php считывает эти значения файлов cookie и сравнивает их со значениями базы данных, чтобы убедиться в подлинности запроса. хорошо, это обходной путь, чтобы иметь единый вход в PHP и иметь точку соприкосновения, работающую вместе с PHP. но я все равно рекомендую использовать Kerb_auth_mod для SSO в php. что мы в итоге и сделали.

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