Livelink WCF Webservice - проблемы с аутентификацией - PullRequest
0 голосов
/ 08 сентября 2011

Я разработчик Sharepoint / MS и не слишком знаком с Livelink. В любом случае, я вижу, что у них есть .NET WCF Service. Я пытаюсь выполнить аутентификацию, используя этот веб-сервис, и, насколько я могу прочитать из документации API, это не должно быть слишком сложным.

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

Все работает нормально, пока я не дохожу до части ImpersonateUser, которая завершается с очень общим «Недостаточно прав для выполнения этого действия». ошибка. Это проблема на стороне клиента? или LL сторона? Возможно, Kerberos не настроен в порядке или вообще?

С кодом:

 private string ImpersonateUser(string adminToken)
 {
                string userToken = string.Empty;

                llAuthentication.OTAuthentication fLLAuthentication = new llAuthentication.OTAuthentication();
                fLLAuthentication.AuthenticationToken = adminToken;

                fAuthServiceUser = new AuthenticationClient();
                fAuthServiceUser.Endpoint.Address = new EndpointAddress(this.ServiceRoot + "Authentication.svc");
                fAuthServiceUser.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;         

                userToken = fAuthServiceUser.ImpersonateUser(fLLAuthentication, WindowsIdentity.GetCurrent().Name.ToString());

                return userToken;
}

1 Ответ

2 голосов
/ 08 февраля 2012

Это не имеет ничего общего с аутентификацией Windows.Это просто означает, что пользователь livelink, который вы изначально используете для входа в систему, не имеет права выдавать себя за других пользователей livelink.Попросите вашего администратора livelink предоставить это право (я не знаю точное право, извините)

...