Приложение ASP.NET, получающее доступ к журналу событий в Windows Server 2008 R2

Может ли кто-нибудь объяснить, почему происходит следующее:

Моему приложению ASP.NET требуется доступ к журналу событий приложения.

  1. Когда я сначала обращаюсь к веб-приложению, оно возвращает исключение «Безопасность» (что ожидаемо, поскольку я еще не предоставил разрешения на запись в журнал событий приложения).

  2. Затем я даю разрешения на чтение / запись группе IIS_IUSRS в следующем разделе реестра: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ eventlog. В результате этого действия мое веб-приложение начинает работать.

  3. Теперь я удаляю те разрешения, которые предоставил группе IIS_IUSRS. Но мое веб-приложение продолжает работать (хотя я ожидал, что снова возникнет исключение «Безопасность»)

Итак, почему веб-приложение продолжает работать, хотя права на запись в журнал приложений были удалены?


person cyberdot    schedule 21.02.2011    source источник


Ответы (2)


Существует разница между разрешениями, необходимыми для создания источника событий в журнале событий, и разрешениями, необходимыми для записи в существующий источник событий. Для создания источника событий необходимо более высокое разрешение.

Вот источник повторного доступа к журналу событий:

Учетные записи с минимальными привилегиями имеют достаточные разрешения для записи записей в журнал событий с использованием существующих источников событий. Однако у них нет достаточных разрешений для создания новых источников событий.

person DOK    schedule 21.02.2011
comment
Спасибо, это помогло. Я проверил ключи реестра, созданные для источников журнала событий в HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ eventlog \ Application, и удалил тот, который был создан моим веб-приложением. Это вернуло исключение. - person cyberdot; 21.02.2011
comment
Рад помочь. Это создание источника событий может быть выполнено во время развертывания, чтобы у самого веб-приложения не было необходимых разрешений для создания источника событий. В новых веб-приложениях я часто пишу в журнал событий в Application_Start, чтобы он немедленно генерировал исключение, если источник события не был создан. - person DOK; 21.02.2011

Может случиться так, что разрешение на открытие журнала событий будет кэшироваться до тех пор, пока вы не перезапустите приложение ASP.NET и / или IIS. Зависит от того, как вы сделали в своем коде.

person Anders Zommarin    schedule 21.02.2011