Ошибка SharePoint 403 для пользователей не существует в «Все люди» - PullRequest
1 голос
/ 19 июня 2009

Это сложно, я попытаюсь описать это здесь.

  1. Если пользователь и его группа не имеют прав доступа к чему-либо на сайте SP, пользователь получит соответствующую страницу SharePoint «Ошибка: доступ запрещен» при входе в систему.
  2. Если у пользователя есть доступ к чему-либо через членство в его группе, то а. Если пользователь указан в списке «Все люди», он может без проблем войти на сайт и использовать его. б. Если пользователь не указан в списке «Все люди», он получит страницу ошибки IIS 403. Вернувшись на сервер, произойдет событие «Пул приложения, обслуживающего процесс« [имя пула приложений IIS] », столкнулся с фатальной ошибкой связи со службой публикации в Интернете», что указывает на сбой в пуле приложений IIS. Если пользователь заинтересован и продолжает пытаться, он может часто аварийно завершить работу пула приложений и в конечном итоге привести к остановке пула приложений и отключению приложения !!!

Мы используем проверку подлинности с помощью форм, а также поставщика членства в Asp.net и поставщика ролей. Похоже, что когда происходит 2b, SP многократно (должен быть только один раз) вызывает метод GetUser провайдера членства (я полагаю, что до неустранимой ошибки связи). Я считаю, что это для импорта профиля пользователя initila. Когда происходит 2a, метод GetUser не вызывается.

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

Эта проблема только появилась недавно и только в одной среде (ПРОИЗВОДСТВО!). Все было хорошо, и другие среды UAT и учебная среда не имеют этой проблемы. Мы сравнили окружение, проверили все очевидное и не смогли найти никаких различий, которые могли бы вызвать это. В производстве работает около 110 пользователей, что больше, чем в других средах, но все же не так много.

Кто-нибудь может помочь?

Ответы [ 2 ]

0 голосов
/ 23 июня 2009

Причина найденной проблемы. Для расширенной настройки в списке «Все люди» разрешение «Изменение уровня элемента» не установлено.

0 голосов
/ 19 июня 2009

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

Следующее, что следует проверить, это код между вызовом веб-службы и возвращением getuser. У вас есть какие-либо массивы, где установлена ​​максимальная длина? Делаете ли вы какие-либо предположения о том, какие данные содержатся в специальном элементе в массиве? Как вы проверяете / регистрируете, что веб-сервис возвращает верный результат?

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

Шираз

...