Показать сообщение отдельно
Старый 21.01.2009, 15:39   #1  
ZooY is offline
ZooY
Участник
Аватар для ZooY
 
377 / 46 (2) +++
Регистрация: 24.06.2008
Адрес: Россия, Москва
Доступ к SQL
Всю голову себе уже сломал ища решение, подскажите кто знает...
CRM 4.0. Пишу расширение, которое должно напрямую работать с CRM'ной базой MS SQL. Ну а кроме того еще и с CRM-сервисами. К сожалению в данном конкретном расширении не обойтись без работы с SQL - то, что делается запросами нельзя заменить работой сервисов.
Возникла проблема. Под администратором все работает, но если запускать расширение от имени простого пользователя, то возникает ошибка - у простого пользователя нет доступа к SQL.
Можно подключить для расширения олицетворение. Но тогда наоборот есть доступ к SQL но сервисы работать отказываются.

Я вижу несколько путей решения.
1. Коннектиться к SQL с правами админа (или другого пользователя, имеющего доступ к SQL), с этим пока не разбирался, но думаю что это возможно. Но тогда где то как то нужно хранить логин и пароль админа.
2. Отключить для расширения олицетворение. Но тогда нужно иметь имя и пароль пользователя, для того, чтобы создать NetworkCredential при создании подключения к сервисам. Имя текущего пользователя можно было бы получить программно, но пароль... Получается что как и в варианте 1 нужно где то как то хранить логин и пароль.
3. Выделить все части программы, где идет работа с SQL в отдельный веб-сервис и для него отключить олицетворение, чтобы он нормально работал с ДБ. Этот вариант тоже зело геморный да и общая скорость работы пострадает.

Кто как решает подобные проблемы?