Я считаю, что успешно выдал себя за свою учетную запись, запустив страницу ASP.NET на моем локальном компьютере.
Используя метод, описанный здесь , я успешно изменил WindowsIdentity.GetCurrent().Name
с ASPNET на мою учетную запись домена.
Я могу успешно записать файл в файловой системе, доступ к которому разрешен ТОЛЬКО для моей учетной записи. Однако, когда я пытаюсь удалить категорию счетчика производительности, я получаю Доступ запрещен .
У меня есть аудит в ветви реестра, и он говорит мне, что MyMachine \ ASPNET не работает при доступе к объекту .
Вот код, на котором происходит сбой:
if ( PerformanceCounterCategory.Exists ( PerfmonCategory ) )
PerformanceCounterCategory.Delete ( PerfmonCategory );
Ошибка при удалении вызова.
(Моя учетная запись - администратор, и я могу успешно запустить тот же код вне контекста ASP.NET).
Я подозреваю, что этот вызов пространства имен System.Diagnostics на самом деле вызывает некоторый COM-процесс, и каким-то образом меня сбрасывают из-за второго перехода. Кто-нибудь может подтвердить, что может происходить?
Edit:
Исключение:
В доступе отказано
Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении:
System.ComponentModel.Win32Exception: доступ запрещен
Работает с полным доверием.