Как я заставляю ELMAH работать с SQL Server (проблемы разрешения)

У меня есть ELMAH, работающий над моим (Кассини) сервер разработки, и было довольно довольно им, но теперь, когда я пытаюсь переместить все в свой рабочий сервер (IIS7), медовый месяц похож на то, чтобы быть.

Я имею мимо "глюка" с IIS7, который откровенно, возможно, был лучше выделен в документации, и если я просто использую журнал в оперативной памяти затем, это работает.

Однако я пытаюсь заставить это использовать журнал SQL Server (как я делаю в своей системе разработки), и я получаю ошибку вроде:

ВЫПОЛНИТЬ разрешение было отклонено на объектном ELMAH_GetErrorsXml

Ну, прекрасный. Я знаю, как дать разрешения базы данных, но я действительно изо всех сил пытаюсь понять, какой пользователь и который сохранил procs/tables, к которому я должен предоставить доступ.

Вещь это действительно смущает меня, состоит в том, что я не должен был делать ничего как это, чтобы заставить это работать над моим сервером разработки. Единственная разница, которую я вижу, - то, что на моем сервере разработки это, кажется, соединяется как NT AUTHORITY\IUSR, тогда как на моем рабочем сервере это, кажется, соединяется как УСЛУГИ NT AUTHORITY\NETWORK. (Это просто использует доверительное соединение, таким образом, я явно не настроил его, чтобы сделать это - я предполагаю, что это относится к веб-серверу). ОБНОВЛЕНИЕ: я с тех пор установил, что, потому что я использую Cassini, это на самом деле входило в систему как я (администратор) и не IUSR, который объясняет, почему я не получил проблем разрешения.

На моем сервере разработки учетная запись IUSR является ролью базы данных представителя общественности и имеет доступ к необходимой базе данных (снова как "общественность"). Нет никакого явного предоставления полномочий уровня объектов. [Посмотрите обновление выше - это не важно].

На моем рабочем сервере я добавил СЕТЕВУЮ СЛУЖБУ точно таким же образом (роль общедоступной базы данных, явный доступ к базе данных как "общественность"). Все же я получаю эту ошибку разрешения. Почему?!! [Посмотрите обновление выше - единственная причина, которую я не получаю, ошибка разрешения состоит в том, потому что я работаю как администратор].

И, конечно, если то, что это работает локально, будет просто "удачей", то я должен буду знать который SPS/таблицы предоставить доступ к. Моим предположением был бы все 3 SPS а не таблица, но будет хорошо (снова) видеть некоторую документацию, которая делает это явным.

8
задан Community 23 May 2017 в 10:31
поделиться

1 ответ

Предоставляете ли вы ELMAH полную строку подключения в файле web.config? Если да, то вы должны точно знать, какому пользователю db нужно предоставить разрешения, верно? И да, разрешение будет на выполнение трех хранимых процедур ELMAH ...

Вот конфигурация, которую я использовал:

<elmah>
    <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="elmah" />
</elmah>

<connectionStrings>
    <add name="elmah" connectionString="Data Source=XXX;Initial Catalog=XXX;User Id=XXX;Password=XXX;" providerName="System.Data.SqlClient" />
</connectionStrings>
7
ответ дан 5 December 2019 в 08:22
поделиться
Другие вопросы по тегам:

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