Правило .NET One Hop и веб-части SharePoint - PullRequest
1 голос
/ 17 марта 2009

Привет! У меня есть веб-часть SharePoint, которая скомпилирована как DLL и помещена в папку BIN моего SP-сайта. Моя веб-часть работает на моей локальной машине, но когда я запускаю ее в производство, она выходит из строя с

(401) Unauthorized.

После некоторых исследований я пришел к так называемому «правилу одного прыжка». Это означает, что я должен либо передать учетные данные пользователя сети, либо использовать

<identity impersonate= "true" />

в моем web.config. Я не хочу жестко кодировать пользователя сети, поэтому мой вопрос заключается в том, как я могу использовать подражателя в своей веб-части? Поддерживают ли dll web.configs? Спасибо за помощь.

Ответы [ 5 ]

4 голосов
/ 17 марта 2009

Ваша веб-часть не работает, вероятно, из-за CAS; Возможно, вам потребуется повысить уровень разрешений или добавить специальные права доступа, которые будут предоставлены вашей сборке, поскольку она не является полностью доверенной, как в папке bin.

Если вы уверены, что это просто проблема подражания, не можете ли вы просто использовать узлы в вашем файле web.config?

2 голосов
/ 17 марта 2009

Impersonate всегда имеет значение true в web.config приложения SharePoint, поэтому проблема должна быть в другом месте. Веб-части, развернутые в папке BIN веб-приложения, запускаются в изолированной программной среде и по умолчанию имеют ограниченные разрешения. Возможно, это источник проблемы.

1 голос
/ 17 марта 2009

Да, как упоминал Тудор, скорее всего, это Code Access Security. Если вы поместите его в GAC, у вас не будет этой проблемы (GAC полностью доверяет).

Вот несколько статей, которые должны помочь вам с веб-частями CAS и SharePoint. Хитрость в том, чтобы знать, какие IPermissions вам нужны.

0 голосов
/ 17 марта 2009

Если вы смотрите на проблему «двойного прыжка», то вы не будете использовать NTLM. Вам необходимо использовать аутентификацию Kerberos, поскольку билет Kerberos может переходить от пользователя к веб-серверу и веб-службе. Вам нужно настроить имена принципов обслуживания с помощью SetSPN.

Эта веб-часть обращается к внешним веб-службам? Или ошибка разрешений основана на локальной безопасности?

0 голосов
/ 17 марта 2009

Не думаю, что есть что добавить в DLL. В любом случае, насколько мне известно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...