我是Sharepoint / MS Developer,对Livelink不太熟悉。无论如何,我看到他们有一个.NET WCF服务。我正在尝试使用此Web服务进行身份验证,据我所知,从API文档中可以看出,这应该不会太难。
根据文档,我需要最初使用Admin用户进行身份验证,这样做可以正常工作。然后我可以冒充使用当前登录的用户。
一切正常,直到我到达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;
}
答案 0 :(得分:2)
这与Windows身份验证无关。它只是意味着您最初用于登录的livelink用户无权冒充其他livelink用户。请求您的livelink管理员授予此权限(我不知道确切的权利,对不起)