Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Имперсонификация / 11 сообщений из 11, страница 1 из 1
29.04.2010, 15:23
    #36605475
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имперсонификация
Перед созданием SqlConnection в шарпе мне надо переключить контекст
Использую АПИ

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
                bool returnValue = LogonUser(strUsername, strDomain, strPassword,
                    LOGON32_LOGON_NEW_CREDENTIALS,
                    LOGON32_PROVIDER_DEFAULT, ref tokenHandle);
                bool retVal = DuplicateToken(tokenHandle, SecurityImpersonation, ref dupeTokenHandle);
                if (false == retVal)
                {
                    errCode = Marshal.GetLastWin32Error();
                    CloseHandle(tokenHandle);
                    Console.WriteLine("Exception in token duplication.");
                    return errCode;
                }
                WindowsIdentity newId = new WindowsIdentity(tokenHandle);
                impersonatedUser = newId.Impersonate();

работает как надо, с одной оговоркой:

если приложение и SQL Server запущены на разных компьютерах - все работает.
Если же локально - то коннект с сервером устанавливается от имени юзера, заупстившего приложение.

Как можно обойти?
...
Рейтинг: 0 / 0
29.04.2010, 23:22
    #36606352
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имперсонификация
а при чем тут форум по С++ если пишушь на шарпе?
...
Рейтинг: 0 / 0
30.04.2010, 12:31
    #36607173
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имперсонификация
Lepsikа при чем тут форум по С++ если пишушь на шарпе?

потому что вызывается то родное апи
...
Рейтинг: 0 / 0
30.04.2010, 13:37
    #36607387
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имперсонификация
Winnipuh пишет:

> потому что вызывается то родное апи

Этот SqlConnection -- это что ? ADO ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
30.04.2010, 14:09
    #36607496
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имперсонификация
MasterZiv
Winnipuh пишет:

> потому что вызывается то родное апи

Этот SqlConnection -- это что ? ADO ?


это адо.нет, для простоты код на шарпе, но суть не в этом, а в том, что вызывается родное апи по имперсонейту.
Вопрос в том, что для локального скл сервера финт с таким параметром не срабатывает

Модератор: Тема перенесена из форума "C++".
...
Рейтинг: 0 / 0
30.04.2010, 15:34
    #36607729
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имперсонификация
Попробуйте отключить SharedMemory в списке протоколов SQL Srv. Или замените LOGON32_LOGON_NEW_CREDENTIALS на LOGON32_LOGON_INTERACTIVE.
...
Рейтинг: 0 / 0
30.04.2010, 16:37
    #36607875
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имперсонификация
ээхх, нет ответа?
...
Рейтинг: 0 / 0
30.04.2010, 16:38
    #36607878
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имперсонификация
buserПопробуйте отключить SharedMemory в списке протоколов SQL Srv. Или замените LOGON32_LOGON_NEW_CREDENTIALS на LOGON32_LOGON_INTERACTIVE.

LOGON32_LOGON_INTERACTIVE в общем то, что нужно, но у него есть один недостаток, он полностью меняет юзера, пустившего приложение
...
Рейтинг: 0 / 0
30.04.2010, 17:18
    #36607954
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имперсонификация
ШАРЕД МЕМОРИ ОТРУБИТЕ!!!! В НАСТРОЙКАХ СЕРВЕРА ЧТОБ ЧЕРЕЗ СЕТЬ ХОДИЛ
...
Рейтинг: 0 / 0
30.04.2010, 18:31
    #36608041
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имперсонификация
buserШАРЕД МЕМОРИ ОТРУБИТЕ!!!! В НАСТРОЙКАХ СЕРВЕРА ЧТОБ ЧЕРЕЗ СЕТЬ ХОДИЛ

да понял, я понял, поробую

правда при таком параметре не работает пул, он не понмиает, что клиент поменялся и подтаскивает пуловые коннекции от текущего юзера
...
Рейтинг: 0 / 0
04.05.2010, 10:35
    #36610365
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имперсонификация
Winnipuh,

http://www.techdays.ru/videos/1399.html
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Имперсонификация / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]