#sharepoint
#sharepoint
Вопрос:
Ищу указатель в правильном направлении …
Существует ли механизм, позволяющий настроить SharePoint таким образом, чтобы:
если пользователь был успешно аутентифицирован на сайте SharePoint, что существует какой-то «токен аутентификации», который может быть передан или доступен сторонним сайтам
или способ для сторонних сайтов «распознать», что пользователь в данный момент аутентифицирован в среде sharepoint
все сторонние приложения могут быть изменены для выполнения любых необходимых действий, но ограничение таково: SharePoint может быть или не быть размещенным (отдельным поставщиком услуг), и то, как проходила первоначальная аутентификация, не имеет значения, т. Е. просто нужно знать, что они прошли проверку подлинности нормально, а не как
ОТРЕДАКТИРУЙТЕ сценарий, чтобы прояснить ситуацию: пользователям SP, прошедшим проверку подлинности, требуется доступ к стороннему поставщику услуг для получения дополнительного контента. «ссылка» на их SP-сайте перенаправляет на стороннюю организацию. третья сторона должна распознать реферера (на основе набора доказательств, предоставленных запросом), чтобы ему не нужно было запрашивать вторичный процесс аутентификации.
одна из третьих сторон — это я. экземпляров SP много и они разнообразны и могут быть любым из моих клиентов (которым я не предлагаю поддержку, просто предоставляю контент-сервис).
таким образом, предпринята попытка решить более общую проблему «сообщества / экосистемы».
Комментарии:
1. я нашел высокоуровневую сводку параметров интеграции, которые, по моему мнению, полезно добавить в набор: sharepointdevwiki.com/display/SharePointPlaybook /…
Ответ №1:
Продолжая небольшой объем информации, доступной здесь…. Вероятно, вы собираетесь использовать проверку подлинности Windows (через Active Directory) или проверку подлинности на основе форм.
Если вы используете AD в своей организации, а другой сервер, на котором выполняется проверка подлинности, использует тот же AD, это несложно. Если она основана на AD, но оба сервера используют разные домены, это намного сложнее. Одним из вариантов было бы настроить доверенный общий ресурс между ADs.
Если вы используете аутентификацию на основе форм, это становится немного большей проблемой. Если оба сервера используют один и тот же FBA, вы могли бы создать файл cookie для проверки подлинности в SharePoint, а затем добавить файл cookie в качестве заголовка к объекту запроса и затем перенаправить на сервер.
Если это совершенно разные методы аутентификации, вам необходимо определить, позволят ли ваши требования безопасности пользователям проходить аутентификацию с помощью какого-либо механизма на основе URL (например, querystrings), а затем разработать логику в вашем SP box для создания URL для аутентификации.
Комментарии:
1. механизм на основе URL-адресов — это то, о чем я думал… мне нужно указать, сколько разработчиков потребуется для этого в окне SP .. но только из интерфейса SP?
2. «… добавьте файл cookie в качестве заголовка к объекту запроса, а затем перенаправьте на сервер …» мм … добавляет javascript на веб-страницу (часть) (или даже пишет некоторые серверные скрипты (ie. runat=»server») достаточно просто из интерфейса SP?
3. Основано ли все это на стороне клиента? То, что я описал, было основано на сервере. Что касается механизма URL-адресов, то все это зависит от бизнес-правил, которые необходимо реализовать для создания строки запроса, которая будет проходить аутентификацию на целевом сервере.
4. надстройка javascript была просто задумана как средство опроса файлов cookie… это реализует создание кода querystring. ie. на стороне сервера на веб-странице внутри SP?
5. Возможно, стоит взглянуть на книгу Теда Паттисона по программированию SP. Существует несколько способов создания кода на стороне сервера; встроенные пользовательские элементы управления, веб-части, встроенный скрипт на странице ASPX и т.д. Без лучшего представления о том, чего вы пытаетесь достичь, трудно ответить. И нет, на самом деле ничего не происходит прямолинейно, когда дело доходит до SharePoint 🙂
Ответ №2:
Ваши требования немного завышены, но это должно указать вам правильное направление.
Спланировать методы проверки подлинности (SharePoint Server 2010)
В частности, аутентификация на основе утверждений.
Ответ №3:
Я предполагаю, что под «сайтами сторонних производителей» вы подразумеваете сайты, которые не размещены в вашем домене. В этом случае серверы не смогут использовать вашу проверку подлинности AD (если вы не предоставите им общий доступ, что, вероятно, того не стоит).
Я бы предложил изменить способ аутентификации пользователей на сторонних серверах, поскольку у вас есть контроль над тем, как вы отправляете туда своих пользователей. Вы могли бы легко зашифровать их имена пользователей / электронные письма / уникальные идентификаторы и временную метку (чтобы убедиться, что они не смогут добавить эту ссылку в закладки) в строке запроса.
Затем информация расшифровывается на стороннем сервере. Неверная информация, и они перенаправляются на вашу страницу входа. Действительная информация, и 3-й знает, что они были аутентифицированы в вашем приложении sharepoint.
Комментарии:
1. хитрость здесь заключалась бы в том, чтобы создать этот «токен» запроса в поле SP — и если бы я мог сделать это, не требуя dll-развертывания в указанном экземпляре SP … ?
2. Ну, я думаю, вам понадобится пользовательский код, запущенный где-нибудь в вашем SP box. Он не создан для совместного использования своей аутентификации с другими веб-сайтами без добавления пользовательского кода. Если вы пойдете по пути шифрования в строке запроса, вы могли бы развернуть или использовать функцию, которая об этом позаботится, например.
3. я надеялся не прибегать к этому … но я думаю, что это может быть единственным способом. создание серверного кода из SP на одной из веб-страниц.. возможно ли что-то подобное?
4. Безусловно, это тоже не так сложно. Я сделал нечто подобное на веб-сайте для передачи учетных данных в разных веб-приложениях. Вы могли бы создать веб-часть, которая заботится о перенаправлении пользователей (и одновременно шифрует учетные данные в строке запроса). Разверните эту веб-часть на странице, и она запустит за вас ваш серверный код. Изнутри веб-части у вас есть доступ как к вашей аутентификации (AD или FBA), так и к контексту SP.
5. ах, превосходно 🙂 какие-либо конкретные ключевые слова или жаргон, используемые в SP (для дальнейшего поиска в Google по теме). даже веб-часть «hello world» была бы отличным местом для начала …?
Ответ №4:
Ваш вопрос очень запутанный.
SharePoint может быть, а может и не быть размещенным
Что вы под этим подразумеваете?
Вы вызываете стороннее веб-приложение со страницы SharePoint? Вы можете получить текущего пользователя с помощью SPWeb.CurrentUser
свойства и использовать его.
Комментарии:
1. SharePoint может быть или не быть размещенным: под этим я подразумеваю с поставщиком услуг, таким как rackspace, в отличие от корпоративной сети..