Sharepoint Claims / c2wts проблемы с Performance Point / Excel Services - PullRequest
1 голос
/ 26 сентября 2011

Я создал пользовательский поставщик утверждений, который позволяет пользователям входить в SharePoint с существующего веб-сайта. Это вызывает претензии, включая претензию UPN в формате имя пользователя @ домен. Пользователь может войти в систему, пока я не включу mapToWindows и useWindowsTokenService в samlSecurityTokenRequirement в веб-приложении SharePoint web.config. На этом этапе я получаю стандартное сообщение об ошибке SharePoint, и в трассировке отображается следующее исключение.

Exception fetching current thread user in SPUtility.CacheClaimsIdentity: Exception of type 'System.ArgumentException' was thrown.
Parameter name: identity    0.00143314303912927 0.001357
Runtime Tag(tkau) System.ArgumentException: Exception of type 'System.ArgumentException' was thrown.
Parameter name: encodedValue
  at Microsoft.SharePoint.Administration.Claims.SPClaimEncodingManager.DecodeClaimFromFormsSuffix(String encodedValue)
  at Microsoft.SharePoint.Administration.Claims.SPClaimProviderManager.GetProviderUserKey(String encodedSuffix)
  at Microsoft.SharePoint.ApplicationRuntime.SPHeaderManager.AddIsapiHeaders(HttpContext context, String encodedUrl, NameValueCollection headers)
  at Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.PreRequestExecuteAppHandler(Object oSender, EventArgs ea)
  at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
  at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Я думаю, что часть олицетворения c2wts работает правильно, потому что, если я отключаю учетную запись AD, представленную переданной заявкой UPN, то при попытке войти в систему от имени этого пользователя в SharePoint появляется другая ошибка «Отказано в доступе».

Также в журнале SharePoint кажется, что имя участника-пользователя было преобразовано в учетную запись Windows AD, потому что в журнале я получаю следующее:

Verbose  ____Current User=i:DOMAINNAME\SSO_administrator    7b4eac31-d017-429c-87f2-a3100ece6797

Обновление

Похоже, что это не поддерживаемый параметр для использования в SharePoint. Однако, если я оставлю этот параметр выключенным, похоже, что отчеты Performance Point и Excel Services, встроенные в сайт SharePoint, не будут работать должным образом. Я получаю ошибки как:

  • The data connection uses Windows Authentication and user credentials could not be delegated. (Excel)
  • $Resources:ppsma.ServerCommon, ErrorCode_DataSourceCannotGetWindowsIdentityForNonWindowsClaim; (отчет по точкам производительности SSRS)

Есть ли способ обойти это? Мне нужно, чтобы имя пользователя в качестве учетной записи использовалось для запроса данных SSAS за ними, поэтому невозможно использовать фиксированные строки подключения.

Ответы [ 2 ]

0 голосов
/ 08 декабря 2011

Оказывается, что значение конфигурации mapToWindows не поддерживается в SharePoint. Вы должны полагаться на то, что каждая часть SharePoint знает о заявках и сама конвертирует токен. Это немного мучительно, потому что PerformancePoint и Excel Services не поддерживают заявки, поэтому в конечном итоге вы застреваете с использованием аутентификации Windows, если для вашего куба SSAS требуется безопасность AD.

...