Вопрос

У меня есть это CloudShare Edurgions , состоящий на 3 машинах:

    .
  • One for SharePoint 2013 (это то, где я разработан с установленным vs2012)
  • другой для SQL Server 2012
  • и другой для Active Directory

    Я пытаюсь создать базовое приложение High Trust для SharePoint 2013, используя протокол сервера к серверу.

    Я следовал нескольким направляющим:

Это было полезно?

Решение

Для простоты я буду указывать очевидным!

пользователя не аутентифицирован, а ресурс требует аутентификации

Это говорит мне, что есть что-то не так, продолжается рукой, встряхивая рукой (ваш сертификат не отправлен или не прав), так как его продукт Microsoft лучше всего посмотреть на MSDN.

Чтобы сделать его понятно, пожалуйста, прочитайте это:

Следующий шаг не является обязательным. Тем не менее, мы рекомендуем вам развить и тест с включенными HTTPS. Отключение HTTPS может вызвать вы разработчик пропустить определенные проблемы при создании приложения, которое произойдет Во время развертывания производства, где требуется HTTPS.

Теперь вы читаете заметку, прочитайте проблему, что вы имеете!

OAUTH Теперь требует SharePoint для запуска HTTPS, не только для вашего обслуживания Но также для SharePoint 2013. Вы получите 403 (запрещенное) сообщение При попытке позвонить в SharePoint с помощью теста Сертификат.

На компьютере, где у вас установлен SharePoint 2013, вы можете повернуть вне требования HTTPS во время разработки, используя следующие Командлеты Windows PowerShell.

Так что это ваша проблема прямо там! Чтобы обойти это, в то время как развивается:

Это в PowerShell для тестирования / разработки:

$serviceConfig = Get-SPSecurityTokenServiceConfig
$serviceConfig.AllowOAuthOverHttp = $true
$serviceConfig.Update()
.

После завершения вернуть его обратно к тому, как это было!

$serviceConfig = Get-SPSecurityTokenServiceConfig
$serviceConfig.AllowOAuthOverHttp = $false
$serviceConfig.Update()
.

Теперь я бы также хотел бы отметить:

в приложении с высоким доверием, нет токена контекста, даже если вы используете edredirect.aspx файл. Токен контекста специфичен для конфигураций Это использует Windows Azure Access Control Service (ACS). Однако АН Токен доступа все еще требуется. Если вы используете высокое доверие Конфигурация, ваше веб-приложение должно подтвердить подлинность пользователя в так же, как SharePoint 2013 делает (то есть приложение Отвечает за создание пользовательской части токена доступа).

Вы используете класс Toknheelper, чтобы получить клиентКонтекст?

        using (var clientContext = TokenHelper.GetS2SClientContextWithWindowsIdentity(hostWeb, Request.LogonUserIdentity))
        {
            clientContext.Load(clientContext.Web, web => web.Title);
            clientContext.ExecuteQuery();
            Response.Write(clientContext.Web.Title);
        }
.

Кроме того, что именно вы пытаетесь сделать так, как вам может понадобиться больше разрешений в зависимости от того, что вы делаете!

Чтобы получить доступ к другим свойствам, вам может потребоваться запросить разрешения на Host Web.

http://msdn.microsoft.com/en-us/library/fp179901.aspxc/f179901.aspx<< A>

Надеюсь, что вышеуказанные ответы на ваш вопрос! Вы должны убедиться, что вышеупомянутое правильно сделано для его работы!


Если это все еще проблема, чем ее что-то не так с GUID, выданный VS2012, то есть автоматически отправляется при нажатии F5, это установлено в Web.config на этой строке:

<add key="IssuerId" 
.

Измените GUID из верхнего региона в нижний регистр:

от:

<add key="IssuerId" value="F2AE6B96-1FC0-43C6-B5D0-900117C491A4"/>
.

к

<add key="IssuerId" value="f2ae6b96-1fc0-43c6-b5d0-900117c491a4"/>
.

Очевидно, ваш GUID будет отличаться от выше;)

Также нравится отметить, что вам нужен уникальный сертификат для каждого отдельного приложения! Также убедитесь, что GUID такой же, как GUID PowerShell, используя Get-SPTrustedSecurityTokenIssuer, должен быть таким же, как Web.config!

http:// www .jamestsai.net / blog / post / sharepoint-avograted-app-app-401 - несанкционированная ошибка-on-clientcontextexeCuteQuery (). aspx

<Сильное> Обновление

Просто посмотрел на ваш файл журнала!

Чтобы сломать его сразу с помощью аутентификации! Какой метод вы используете? NTLM? Кербос? ECT ...

Это фундаментально знать, как у вас установить вашу ферму и аутентификацию!

Теперь здесь может быть несколько вопросов, идущих здесь по внешности ошибок! Я рекомендую прочитать по ссылкам ниже! Я настоятельно рекомендую, как только вы прочитали ссылки, которые, если все правильно в вашей настройке для запуска New-SPTrustedSecurityTokenIssuer Этот пример можно найти в моей последней ссылке внизу страницы! Это может решить вас проблему с частью токена и правильным рукопожатием между двумя серверами (проверяя друг друга).

1) токен не отправляется из-за параметров безопасности, которые не совместимы!

Если вы используете режим претензий Windows для аутентификации пользователя и Веб-приложение настроено на использование только аутентификации Kerberos Не возвращаясь к NTLM в качестве протокола аутентификации, затем приложение Аутентификация не работает.

http://technet.microsoft.com/en-us/library/ee806870.aspx A>

или / и

2) Ваш с помощью сервера к серверу Auth, именно здесь он может идти не так! попросите свой профиль синхронизирован ??

Для сервера 2013 года на сервер Убедитесь, что членство группы синхронизируются с приложением службы профиля пользователя.

Если профиль пользователя существует для пользователя и соответствующие члены группы

PS. не синхронизированы, доступ может быть отклонен, когда пользователь должен быть предоставленным доступом для данного ресурса. Поэтому убедитесь, что Членство в группе синхронизированы с помощью службы профиля пользователя Приложение.

http://technet.microsoft.com/en-us/library/jj219806.aspx A>

Теперь это необходимо для настройки сервера на сервер для работы!

аутентификация сервера к серверу позволяет серверам, которые способны Аутентификация на сервер к серверу для доступа и запроса ресурсов из друг друга от имени пользователей. Следовательно, сервер, который работает SharePoint Server 2013 и это службы входящего запроса ресурсов Должен быть в состоянии выполнить две задачи:

для восстановления идентичности пользователя, сервер, который может выполнить Аутентификация на сервер к серверу запросы на доступ к SharePoint Ресурсы. SharePoint Server 2013 принимает претензии от входящего Токен безопасности и разрешает его к конкретному пользователю SharePoint. От По умолчанию SharePoint Server 2013 использует встроенную службу профиля пользователя Приложение для устранения идентичности.

и результат приведенного выше:

Если профиль пользователя и соответствующие члены группы для пользователя Не синхронизирован, SharePoint Server 2013 может неправильно отказать доступ до данного ресурса. Поэтому убедитесь, что членство группы являются Синхронизирован с приложением службы профиля пользователя. Для окон Претензии, приложение службы профиля пользователя импортирует четырех ключевых пользователей атрибуты ранее описанные и групповые членства.

http://technet.microsoft.com/en-us/library/jj729797.aspx A>

Точка - это токен и аутентификация не работает правильно, потому что либо ваша настройка неверна с типом безопасности или конфигурацией! Зная, что вы сделали, решит, где его не так! Очевидно, что он выглядит как сервер к серверу Auth - это отклоняется, поскольку токен не отправляется должным образом.

Если вы верите, что протокол аутентификации верна, чем вы можете следовать этому руководству, как только вы прочитали вышеуказанные ссылки:

http://technet.microsoft.com/en-us/library/jj655400.aspx A>

Ссылка выше объясняет и демонстрирует сервер к шагам сервера для конкретных Senarios

Чтобы создать доверие между двумя серверами (создает доверие между сервером для принципала сервера.)

Следуйте этим руководству! Использование New-SPTrustedSecurityTokenIssuer

http://technet.microsoft.com/en-us/library/jj219695.aspxc/j219695.aspxcc/ A>

Извините за длительный текст и много ссылок! В качестве своего сервера сервера и журнал - это универсальная / установка, я могу дать вам окончательный ответ! Но что я знаю, это рукопожатие между двумя серверами идет неправильно, что означает, что вы пропустили что-то с начальной настройкой! Ссылки выше должны надеяться, чтобы решить вашу проблему между Handshaking, чтобы пройти правильные учетные данные, чтобы правильно работать!

Другие советы

У меня были похожие проблемы.Вместо использования ClientContext или Tokenheelper я переключился на новый SharePointContext, который вы можете прочитать здесь: http://blogs.msdn.com/b/kaevans/Archive/2013/09/24/introducing-sharepointContext-for-provider-hosted-SharePoint-Apps.aspx

После того, как я сделал этот переключатель, мои 401 и 403 проблемы исчезли.Новый SharePointContext использует базовый токельщик, поэтому убедитесь, что у вас также есть последняя версия файла TokenHelper.

Я думаю, что знаю, какова была ваша проблема, журнал сервера указывает на машину клиента / сервера, не имеет времени в синхронизации.

"SPApplicationAuthenticationModule: No valid access token exists in the Authorization header, you should see a 401 challenge as a response to this request."

"SPSecurityTokenExtensions: Not Valid Before:10/11/2013 21:15:38, Valid To:09/06/2015 07:55:38."
.

Я столкнулся с аналогичной ошибкой несколько дней назад, и разрешение было иметь в синхронизации сервера и клиентской машины.

Foundation  Application Authentication ajezq High SPApplicationAuthenticationModule: 
Error authenticating request, Error details: 
Header: 3000002;reason="The access token has expired.
It's valid from '4/29/2015 2:50:44 PM' and to '4/30/2015 2:50:44 AM'.";
category="invalid_client", Body: {"error_description":"Invalid JWT token. The token is not yet valid. 
Current time is 4\/29\/2015 10:44:25 AM and the token is Valid from 4\/29\/2015 2:50:44 PM."}  
.

Как установить время машины в синхронизации с Интернетом

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top