DefaultCredentials в Доступе к CRM / веб-сервисы Sharepoint

Запятая здесь - оператор запятой . Он просто оценивает выражение с левой стороны, за которым следует правая часть, возвращая результат выражения правой руки.

Так что же здесь делает этот (0, ...) синтаксис? Что ж, он существует здесь для того, чтобы убрать функцию из родительского объекта, поэтому он больше не является вызовом метода, по существу отменяя привязку this в контексте метода. Обратите внимание:

// ECMAScript 2015
var obj = {
  foo() {
    return this;
  }
}

console.log(obj.foo() === obj);
console.log((0, obj.foo)() === obj);

Это уловка, которую используют другие транспортеры Babel, чтобы убедиться, что функции, импортированные как голые функции, называются как функции, а не как методы для модулей, из которых они импортированы. Другими словами,

(0, _jquery["default"])(...)

Эквивалентно

$(...)

Где $ - функция jQuery.

7
задан Bill the Lizard 12 September 2013 в 14:46
поделиться

6 ответов

Мог быть то, что Вы должны выполнять Kerberos для аутентификации, но не можете быть уверены, и это - боль для установки только для проверки.

1
ответ дан 7 December 2019 в 16:46
поделиться

сервис. Учетные данные = Система. Сеть. CredentialsCache. DefaultNetworkCredentials;

Попробуйте это.

0
ответ дан 7 December 2019 в 16:46
поделиться

Не знакомый с Sharepoint, но Вы не можете только сохранить информацию о соединении в конфигурации и использовании, созданном в инструментах для обеспечения Вашего web.config? Это - то, что я делаю.

http://aspnet.4guysfromrolla.com/articles/021506-1.aspx

0
ответ дан 7 December 2019 в 16:46
поделиться

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

РЕДАКТИРОВАНИЕ № 1: На комментарии для свойства DefaultCredentials на MSDN:

DefaultCredentials представляет системные учетные данные для текущего контекста защиты, в котором работает приложение. Для клиентского приложения это обычно учетные данные Windows (имя пользователя, пароль и домен) пользователя, запускающего приложение. Для приложений ASP.NET учетные данные по умолчанию являются удостоверениями пользователя зарегистрированного пользователя или исполняемым роль пользователем.

Вы также захотите удостовериться, что пользователь, получающий доступ к странице CRM (выполняющий вызов к веб-сервису SharePoint), может получить доступ к веб-сервису с их учетными данными и наоборот. Если бы они могут затем он казаться более вероятным, что некоторое олицетворение происходит.

Редактирование № 2: Предположение, что у Вас есть доступ и к CRM и к серверу SharePoint, Вы могли бы взять пик и в приложение и в системные журналы. Один или оба должны, вероятно, указать на неудавшийся вход в систему и указать, какая учетная запись попыталась получить доступ к ресурсу (в этом случае веб-сервисы).

1
ответ дан 7 December 2019 в 16:46
поделиться

для сможения использования defaultcredentials пользователь в активном каталоге должен быть определен и в SharePoint и в CRM и иметь достаточно полномочий сделать то, что Вы делаете с кодом.

И попытайтесь использовать sdk (crm, имеют классы помощника) вместо сервисных определений.

0
ответ дан 7 December 2019 в 16:46
поделиться

Использование DefaultCredentials означает, что рабочий процесс ASP.NET или рабочий процесс IIS будет принимать учетные данные пользователя, который запускает пул приложений IIS.

поэтому, если ваш пул приложений Dynamics CRM запущен под учетной записью пользователя Custom-CRM-Domain \ JohnDoe, это означает, что он получит права под учетной записью пользователя Custom-CRM-Domain \ JohnDoe.

Пожалуйста, проверьте учетную запись пользователя которые запускают пул приложений веб-приложения CRM \ Sharepoint Application IIS.

Вот шаги для проверки пула приложений:

  1. Откройте веб-сайт -> Щелкните правой кнопкой мыши -> Выберите свойства
  2. Выберите вкладку Домашний каталог
  3. Обратите внимание на имя пула приложений в раскрывающемся списке ниже
  4. Теперь перейдите в папку Пулы приложений.
  5. Попробуйте найти имя пула приложений, которое было указано на шаге 3 ->
1
ответ дан 7 December 2019 в 16:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: