У меня есть веб-сайт SharePoint 2010 на основе утверждений, на котором мне нужно обратиться к внутренней системе, не поддерживающей утверждения (K2 blackpearl).
Итак, для достижения этой цели я пытаюсь использовать службу заявок на токены Windows, чтобы выдать себя за пользователя, как описано здесь
Теперь при вызове c2wts с использованием имени пользователя UPN для преобразования в заявку, используя следующий код:
WindowsIdentity windowsIdentity = null;
SPSecurity.RunWithElevatedPrivileges(
delegate()
{
windowsIdentity = S4UClient.UpnLogon("user@domain.com");
});
Теперь, когда я подражаю этому windowsIdentity.ImpersonationLevel, это Идентификация, а не Олицетворение
using (WindowsImpersonationContext c = windowsIdentity.Impersonate())
{
Debug.WriteLine(WindowsIdentity.GetCurrent().ImpersonationLevel); // returns Identification
ConnectToK2();
c.Undo();
}
Я думаю, что это является причиной проблемы, так как при попытке вызвать сервис, используя токен, он не работает. В статье, упомянутой выше, говорится о том, чтобы получить выданный имитированный токен, но я не могу этого сделать.
Кто-нибудь знает, что я могу делать не так?
Спасибо