Ошибка ввода основной службы (процедура хранения)


1

Существует несколько простых кодов для связи с Tridion over Core Services. Требование состоит в том, чтобы получить некоторые элементы из Tridion, используя базовый протокол HTTP для Core Services. Я запускаю приложение как консольную программу на своем локальном ПК. Код работает отлично для разных сред, поэтому никаких проблем с кодом.

Первая проблема, которая была у нас была связана с LDAP и истекшим паролем связанной учетной записи. Это было связано с загрузкой Tridion, она была недоступна вообще. Решается путем установки нового пароля и перезапуска com +, tridion services и IIS. Tridion работал.

Но, при запуске приложения после решения предыдущего вопроса, то как ошибка

System.ServiceModel.FaultException'1 [Tridion.ContentManager.CoreService.Client.CoreServiceFault]: Счет «NT AUTHORITY \ IUSR 'не имеет права доступа к базе данных раздела защищенной конфигурации. Обратитесь к системному администратору ..

возможное решение было найдено на Tridion Re-Index tool cannot be executed и http://docs.sdl.com/LiveContent/content/en-US/SDL_Tridion_2011_SPONE/concept_215FCD336DE34DD5AD342951F6AB3683 д

Таким образом, мы сделали это для одного обычного пользователя в TRIDION, а также для пользователя NT утверждающего \ IUSR

aspnet_regiis -pa "TridionRsaKeyContainer" "<domain>\<account>" 

После повторного запуска заявки появляется новый выпуск

System.ServiceModel.FaultException'1 [Tridion.ContentManager.CoreService.Client.CoreServiceFault]: произошла ошибка базы данных при выполнении хранимой процедуры «EDA_DIRECTORY_GROUP_MEMBERSHIPS_GETLIST». Войти Сбой пользователя 'NT AUTHORITY \ ANONYMOUS LOGON' ..

И в окне просмотра событий есть

Ошибка базы данных произошла во время выполнения хранимых процедур "EDA_DIRECTORY_GROUP_MEMBERSHIPS_GETLIST". Ошибка входа для пользователя 'NT AUTHORITY \ ANONYMOUS LOGON'. Компонент: Tridion.ContentManager.CoreService ERRORCODE: 831 Пользователь: NT AUTHORITY \ NETWORK SERVICE StackTrace Информация Реквизиты: на System.Data.SqlClient.SqlInternalConnection.OnError (SqlException исключением, булевой breakConnection, Action'1 wrapCloseInAction) в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj, булева callerHasConnectionLock, булева asyncClose) на System.Data.SqlClient.TdsParser.TryRun (runBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader DATASTREAM, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, булева & dataReady) в System.Data.SqlClient.TdsParser.Run (RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataRe ader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) в System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin (Boolean enlistOK) в System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin (ServerInfo serverInfo, струнного Новый_пароль, SecureString newSecurePassword, булевой ignoreSniOpenTimeout, TimeoutTimer тайм-аут, Boolean withFailover)

Любая помощь? Есть предположения?

Спасибо.

+1

Он уверен, что у всех Tridion возникают серьезные проблемы с конфигурацией безопасности, не связанные с Core Service вообще. 30 дек. 152015-12-30 19:15:33

  0

Для вашего основного вопроса о сервисе вы можете обратиться http://tridion.stackexchange.com/questions/12914/how-do-i-configure-my-web-application-for-binding-with-core-service. но, как предложил Нуно, сначала попытайтесь исправить проблему. Получается ли эта проблема, когда вы пытаетесь подключить только сервера из своего приложения? 31 дек. 152015-12-31 05:35:46

  0

Приложение работает нормально, если я изменяю учетные данные среды (хост-сервер, имя пользователя и пароль), поэтому никакой проблемы, связанной с самим кодом. Я пробовал с другим пользователем, но с той же проблемой, что и последнее состояние ошибки. @NunoLinhares у вас есть идеи, связанные с безопасностью, что может быть неправильным? 31 дек. 152015-12-31 07:08:51

1

NT AUTHORITHY \ IUSR используется IIS для анонимного доступа. Нет необходимости читать TridionRsaKeyContainer.

Вы установили на свой веб-сайт IIS Tridion, включена анонимная аутентификация? если ответ «да», вы должны изменить этот параметр, чтобы отключить, и установить для Windows Authentication Enable.

Надеюсь, это поможет вам!


1

Я согласен с точкой с анонимным доступом (+1 для этого). Кажется, что настроены пользователи группы Active Directory. В этом случае вы можете попробовать использовать текущий вход в Windows для доступа к Tridion CME из вашего приложения с помощью основного клиента службы. Как ниже в конструкторе класса:

public CoreService() 
{ 
_client = new SessionAwareCoreServiceClient(“wsHttp”); 
_client.Impersonate(WindowsIdentity.GetCurrent().Name); 
} 

Вы можете обратиться here для конфигурации ядра службы и коды.

Дайте мне знать, если это поможет!