У меня есть приложение SL4, которое использует WCF для связи с базой данных внутреннего сервера SQL Server 2008.Одна из служб WCF должна подключиться к базе данных с выделенной системной учетной записью из-за разрешений базы данных, требуемых хранимой процедурой, которая вызывается.Я попытался реализовать решение с использованием олицетворения в коде службы, например
int result = LogonUser(userName, domain, password,
LOGON32_LOGON_NETWORK, LOGON32_PROVIDER_DEFAULT, out _token);
if (result > 0)
{
ImpersonateLoggedOnUser(_token);
//Code here to call NHibernate data access code
}
Моя строка подключения для этой службы:
<add name="MyConnection" connectionString="Data Source=servername\instance;Initial Catalog=MyDatabase;Integrated Security=SSPI" providerName="System.Data.SqlClient"/>
Однако процедура доступа к данным все еще не выполняется сследующее сообщение:
Ошибка входа пользователя 'NT AUTHORITY \ ANONYMOUS LOGON'.
Олицетворение игнорируется в соединении с базой данных.Есть идеи?