C# ldap создание локального / доменного пользователя выдает ошибку "Отказано в доступе"

Новый локальный / доменный пользователь должен быть создан с помощью веб-приложения.

Для этого я использовал пространства имен System.DirectoryServices и System.DirectoryServices.AccountManagement.

Поэтому, если я запускаю приложение с помощью Visual Studio (2012), все идет гладко (пользователь добавляется в активный каталог!).

Но если я размещаю веб-сайт в IIS и пытаюсь выполнить ту же операцию, выдается сообщение об ошибке " Доступ запрещен". Я провел исследование и выяснил причину - это происходит потому, что идентификационный номер APPLICATION POOL установлен для пользователя, который имеет только привилегии USER.

Но по соображениям безопасности пользователь с привилегией ADMINISTRATIVE не может быть указан в качестве идентификатора пула приложений в приложении.

Итак, есть ли альтернативный способ обойти эту идентификацию пула приложений и позволить пользователю успешно создать локального / доменного пользователя.

Жду ценного ответа / предложения.

1 ответ

Есть несколько способов добиться этого.

  1. Создайте отдельный пул приложений с повышенными привилегиями и используйте перемещение функций, требующих повышенного доступа. Его использование извне можно ограничить, установив привязку порта, который блокируется брандмауэром для доступа извне.
  2. Создайте службу Windows, которая запускается от имени пользователя с повышенными разрешениями. Доступ к этой службе можно получить асинхронно с использованием очередей.
  3. Переместите все эти функции, связанные с повышенными разрешениями, на новый сервер, на котором AppPool работает с повышенными разрешениями, и выполните шаг 1. Не подвергайте этот сервер воздействию интернет-трафика, чтобы избежать неправильного использования.
Другие вопросы по тегам