Показать сообщение отдельно
Старый 21.01.2009, 16:40   #7  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Lightbulb
Цитата:
Сообщение от ZooY Посмотреть сообщение
Всю голову себе уже сломал ища решение, подскажите кто знает...
CRM 4.0. Пишу расширение, которое должно напрямую работать с CRM'ной базой MS SQL. Ну а кроме того еще и с CRM-сервисами. К сожалению в данном конкретном расширении не обойтись без работы с SQL - то, что делается запросами нельзя заменить работой сервисов.
Возникла проблема. Под администратором все работает, но если запускать расширение от имени простого пользователя, то возникает ошибка - у простого пользователя нет доступа к SQL.
Можно подключить для расширения олицетворение. Но тогда наоборот есть доступ к SQL но сервисы работать отказываются.

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

Кто как решает подобные проблемы?
Строку подключения к базе можно хранить в вебконфиге.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit