2009-07-10 7 views
1

Je suis nouveau sur Sharepoint et j'ai essayé de googeling ceci, donc désolé si je suis juste stupide.Comment passer le nom d'utilisateur à un service Web à partir de sharepoint

J'ai écrit un service Web qui prend un nom d'utilisateur et retourne des informations relatives à l'entreprise concernant l'utilisateur.

J'ai trouvé sur google que l'une des meilleures façons d'utiliser cette information est de créer un magasin de données dans le concepteur Sharepoint.

J'ai réussi à le faire fonctionner en ajoutant un paramter par défaut, mais je dois passer le nom d'utilisateur de la personne connecté.

Je trouve que si vous sélectionnez la source de paramètre à être variable Server et utilisez LOGIN USER comme le nom qu'il doit envoyer, mais il envoie la valeur par défaut tout le temps.

Qu'est-ce que je fais mal?

Un grand merci pour votre aide.

Andi

Répondre

0

Essayez LOGON_USER

Voici une liste complète des variables du serveur ainsi que des descriptions .. http://www.w3schools.com/asp/coll_servervariables.asp

+0

Merci pour la suggestion. Ne fonctionne pas bien. Il semble que rien d'autre que la valeur par défaut est envoyé. Que ce soit parce que LOGON_USER est vide ou pour une autre raison, je ne sais pas. –

1

Dans une application ASP.NET/processus, vous pouvez récupérer l'identité actuelle de différentes façons :

using System.Security.Principal; 

... 

string username1 = HttpContext.Current.User.Identity.Name; 
string username2 = WindowsIdentity.GetCurrent().Name; 

Votre webservice doit également être configuré pour utiliser Windows-Auth:

<authentication mode="Windows" /> 
<identity impersonate="true"/> 
+0

Merci Henrik J'ai réussi à le faire en écrivant un webpart et en utilisant du code comme vous le suggérez. J'essayais de le faire sans écrire de code et en utilisant simplement sharepoint designer comme je l'avais vu recommander. –

1

Il est probablement préférable d'utiliser la syntaxe officielle de SharePoint pour récupérer l'utilisateur actuel.

SPContext.Current.Web.CurrentUser; 

MSDN Documentation for CurrentUser.

Related article on StackOverflow.

+0

True. Mais seulement si le contexte est disponible. Pour les webparts, les services Web déployés par SharePoint, ... Si vous avez une application ASP.NET simple qui utilise simplement le modèle d'objet SharePoint, je pense qu'il n'y a pas de SPContext. – Henrik

Questions connexes