2011-09-08 3 views
0

Je suis un développeur Sharepoint/MS et je ne connais pas très bien Livelink. De toute façon, je vois qu'ils ont un service .NET WCF. J'essaye de faire l'authentification en utilisant ce service Web et autant que je peux lire des documents d'API, cela ne devrait pas être trop difficile. Selon les docs, je dois d'abord auth avec un utilisateur Admin que je fais et cela fonctionne très bien. Ensuite, je peux emprunter l'identité de l'utilisateur actuellement connecté. Tout fonctionne bien jusqu'à ce que j'arrive à la partie ImpersonateUser qui échoue avec un très générique "Autorisations insuffisantes pour effectuer cette action." Erreur. Est-ce un problème du côté des clients? ou côté LL? Kerberos possible n'est pas configuré correctement ou pas du tout?Livelink WCF Webservice - Problèmes d'authentification

Herwith le code:

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

x0n est juste. Juste une petite note: Si vous intégrez SP et LL, vous pouvez consulter le produit AGA d'Open Text (Application Governance and Archiving) pour SharePoint. Il a un SDK pour les développeurs accédant à LL à partir de SP. Vous pouvez trouver des scénarios complexes implémentés là-bas afin que vous n'ayez pas besoin de les programmer à partir de zéro avec WS. –

Répondre

2

Cela n'a rien à voir avec l'authentification Windows. Cela signifie simplement que l'utilisateur de lien de connexion que vous utilisez initialement pour vous connecter n'a pas le droit d'usurper l'identité d'autres utilisateurs de livelink. Demandez à votre administrateur livelink d'accorder ce droit (je ne sais pas exactement le droit exact, désolé)

+0

Correct. Vous pouvez utiliser Admin ou un autre utilisateur avec le droit Administration système pour initier une connexion avec emprunt d'identité. Je ne suis pas sûr s'il est possible de restreindre davantage l'utilisateur en utilisant l'interface utilisateur LL. –