У меня есть веб-сервис WCF с разными разделами, которые должны работать под разными пользователями.
Одним из них является кластеризация , реализованная с использованием API Interop.MSClusLib .
Я пытаюсь применить олицетворение с помощью указанный пользователь , но он полностью получает игнорируется .
using (new Impersonator(_impersonation.User, _impersonation.Domain, _impersonation.Password))
{
var cluster = new Cluster();
cluster.Open(clusterName);
}
(Подражатель: http://www.codeproject.com/KB/cs/zetaimpersonator.aspx)
WindowsIdentity.GetCurrent () получает пользователя, которого я подражаю, но я все равно получаю:
Доступ запрещен. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED))
at MSClusterLib.ClusterClass.Open (String bstrClusterName)
Когда я устанавливаю удостоверение пула приложений для этого пользователя, оно работает, но это не то, чем я хочу заниматься.
Есть ли каким-либо образом , что это может получить исправлено ?
Спасибо!