C# ldap создание локального / доменного пользователя выдает ошибку "Отказано в доступе"
Новый локальный / доменный пользователь должен быть создан с помощью веб-приложения.
Для этого я использовал пространства имен System.DirectoryServices и System.DirectoryServices.AccountManagement.
Поэтому, если я запускаю приложение с помощью Visual Studio (2012), все идет гладко (пользователь добавляется в активный каталог!).
Но если я размещаю веб-сайт в IIS и пытаюсь выполнить ту же операцию, выдается сообщение об ошибке " Доступ запрещен". Я провел исследование и выяснил причину - это происходит потому, что идентификационный номер APPLICATION POOL установлен для пользователя, который имеет только привилегии USER.
Но по соображениям безопасности пользователь с привилегией ADMINISTRATIVE не может быть указан в качестве идентификатора пула приложений в приложении.
Итак, есть ли альтернативный способ обойти эту идентификацию пула приложений и позволить пользователю успешно создать локального / доменного пользователя.
Жду ценного ответа / предложения.
1 ответ
Есть несколько способов добиться этого.
- Создайте отдельный пул приложений с повышенными привилегиями и используйте перемещение функций, требующих повышенного доступа. Его использование извне можно ограничить, установив привязку порта, который блокируется брандмауэром для доступа извне.
- Создайте службу Windows, которая запускается от имени пользователя с повышенными разрешениями. Доступ к этой службе можно получить асинхронно с использованием очередей.
- Переместите все эти функции, связанные с повышенными разрешениями, на новый сервер, на котором AppPool работает с повышенными разрешениями, и выполните шаг 1. Не подвергайте этот сервер воздействию интернет-трафика, чтобы избежать неправильного использования.