Система. Безопасность. SecurityException при записи в журнал событий

C является моим фаворитом, но это также ужасно.

  • Это имеет худший препроцессор когда-либо. Почему они не использовали что-то как m4?
  • целый заголовок по сравнению с моделью исходного файла повреждается. Паскаль разобрался в нем с единицами.
  • Этому нужны диапазоны случая в операторе переключения.
  • Объединения и броски от пустоты* повреждают систему типов. Это делает сборщики "мусора" невозможными.
  • Никакие вложенные функции. GNU C имеет это, но это должно быть стандартно.
  • Никакая граничная проверка выделенную память. Существуют инструменты, которые обнаруживают это, но они не обнаруживают ошибки, где часть кода неверно рассчитывает адрес и пишет в выделенный регион, который не связан вообще. Я ненавижу целую адресную арифметику с указателями.
  • Никакая проверка границ массивы.
  • Слишком много проблем относительно мобильности. Даже wchar_t отличается через платформы.
186
задан Community 23 May 2017 в 02:10
поделиться

4 ответа

Решением было дать "Сеть Учетная запись службы "разрешение на чтение журнала событий / ключа безопасности.

46
ответ дан 23 November 2019 в 05:50
поделиться

Я не работаю над IIS, но у меня есть приложение, которое выдает ту же ошибку в окне 2K8. Он отлично работает на приставке 2K3, поймите.

Моим решением было «Запускать от имени администратора», чтобы дать приложению повышенные права, и все работает нормально. Я надеюсь, что это поможет вам в правильном направлении.

Windows 2008 - права / разрешения / повышение прав действительно отличается от Windows 2003, gar.

2
ответ дан 23 November 2019 в 05:50
поделиться

Для меня сработало только разрешение «Чтение» для «NetworkService» для всей ветки «EventLog» .

8
ответ дан 23 November 2019 в 05:50
поделиться

Чтобы предоставить сетевой службе разрешение на чтение для ключа EventLog / Security (как было предложено Firenzi и royrules22), следуйте инструкциям из http: //geekswithblogs.net/timh/archive/2005/10/05/56029.aspx

  1. Откройте редактор реестра:
    1. Выберите Пуск , затем Выполнить
    2. Введите regedt32 или regedit
  2. Перейдите / разверните к следующему ключу:

    HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Eventlog \ Security

  3. Щелкните правой кнопкой мыши по этой записи и выберите Разрешения

  4. Добавьте пользователя Network Service

  5. Дайте ему разрешение на чтение

ОБНОВЛЕНИЕ: Шаги, указанные выше подходят для машин разработчиков, где вы не используете процесс развертывания для установки приложения.
Однако, если вы развертываете свое приложение на другой машине (ах), подумайте о том, чтобы зарегистрировать источники журнала событий во время установки , как предлагается в ответах SailAvid и Николь Калиною .

Я использую функцию PowerShell (вызываю в Octopus Deploy.ps1)

function Create-EventSources() {
    $eventSources = @("MySource1","MySource2" )
    foreach ($source in $eventSources) {
            if ([System.Diagnostics.EventLog]::SourceExists($source) -eq $false) {
                [System.Diagnostics.EventLog]::CreateEventSource($source, "Application")
            }
    }
}
170
ответ дан 23 November 2019 в 05:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: