Прежде всего вам необходимо понять, что такое ASP.NET Олицетворение .Помимо данного определения msdn, на языке неспециалистов олицетворение ASP.Net - это возможность получать информацию о пользователе, вошедшем в систему в Active Directory, на компьютере, используя клиентское приложение asp.net.
Как вы упомянули, существуют различные уровни олицетворения . Но прежде чем перейти к этому, необходимо понять, что ASP.Net является управляемой средой .Он существует в рамках пула приложений IIS.Таким образом, любое приложение ограничено возможностями, которые веб-приложение в управляемой среде может выполнять на сервере.
Чтобы непосредственно ответить на ваши вопросы, вот несколько соображений:
Если вы можете разместить приложение с IIS, имеющим ASP.impersonation, вы должны быть администратором этого компьютера (пользователи без прав администратора не могут даже открыть IIS)
Ни одно приложение IIS не может выполнять административные задачи, такие как создание, удаление пользователей, изменение разрешений пользователей без вызова какого-либо собственного приложения для манипулирования активным каталогом(необходимо настроить и сделать много работы, администратор не может думать об этом).Это почти невозможно, даже как-то возможно с некоторым неуправляемым кодом третьей стороны, тогда пользователь, не являющийся администратором, не может установить эти инструменты / sdk на сервер, не имея прямого доступа к серверам.
ASP.Netолицетворение в основном предназначено для пользователей активных каталогов, а Active Directory существует в защищенных средах VPN или Office Premises.Вы должны быть активным пользователем каталога для доступа к олицетворению.Даже как-то вы сделали это (это невозможно без доступа администратора), а также аудит / системные журналы / сетевые журналы найдут, кто является виновником инсайдера, что сделал что-то подобное, и что это значит внутри организации (кроме увольнения), я оставляю на ваше усмотрение.
Тем не менее вы думаете, что олицетворение asp.net небезопасно, вы можете задавать вопросы.:)
ОБНОВЛЕНИЕ для комментариев
Ссылка уровня олицетворения, которую вы получили выше, предназначена для приложения для настольных компьютеров / Windows, которое работает с полным доверием.Олицетворение приложения ASP.net - это просто способ получить личность пользователя Active Directory с некоторыми определенными атрибутами, и он в основном используется для аутентификации и авторизации.Еще раз повторяю, ASP.net - это управляемое приложение внутри пула приложений, которое может выполнять только те действия, которые авторизованы для учетной записи, из которой вы разместили приложение, и с такими слишком нативными / административными действиями, как создание или изменение доступа пользователей Active Directory, невозможно без вызовакакой-то другой SDK, который уже является доверенным и установленным на этом компьютере.
Итак, подытожим, такие операции, как создание файлов или удаление файлов в том месте, где вы предоставили доступ к Веб-приложению для Справочника (также в сети, если есть разрешениепри развертывании для пользователя, который используется для хостинга, но не для входа в систему), но для удаления всего на сервере или выполнения административных задач, таких как AD, создание / изменение пользователя невозможно при входе в систему с помощью олицетворения администратора веб-приложения ASP.net без помощи уже установленного доверенного неуправляемого программного обеспечения, которое можетэтот.