Web services 如何从sharepoint向web服务传递用户名

Web services 如何从sharepoint向web服务传递用户名,web-services,sharepoint,sharepoint-designer,Web Services,Sharepoint,Sharepoint Designer,我是Sharepoint的新手,已经尝试过谷歌搜索,如果我只是在装傻,那么很抱歉 我已经编写了一个Web服务,它使用用户名并返回一些与公司有关的用户信息 我在谷歌上发现,使用这些信息的最佳方法之一是在Sharepoint designer中创建数据存储 我已经通过添加一个默认参数使其工作,但我需要输入登录者的用户名 我发现,如果您选择参数source作为服务器变量,并使用LOGIN USER作为名称,它应该发送该名称,但它始终发送默认值 我做错了什么 非常感谢你的帮助 Andi尝试登录\u用户

我是Sharepoint的新手,已经尝试过谷歌搜索,如果我只是在装傻,那么很抱歉

我已经编写了一个Web服务,它使用用户名并返回一些与公司有关的用户信息

我在谷歌上发现,使用这些信息的最佳方法之一是在Sharepoint designer中创建数据存储

我已经通过添加一个默认参数使其工作,但我需要输入登录者的用户名

我发现,如果您选择参数source作为服务器变量,并使用LOGIN USER作为名称,它应该发送该名称,但它始终发送默认值

我做错了什么

非常感谢你的帮助

Andi

尝试登录\u用户

下面是服务器变量的完整列表以及说明。。

在ASP.NET应用程序/进程中,您可以通过不同的方式检索当前标识:

using System.Security.Principal;

...

string username1 = HttpContext.Current.User.Identity.Name;
string username2 = WindowsIdentity.GetCurrent().Name;
您的Web服务还应设置为使用Windows身份验证:

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

可能最好使用官方SharePoint语法来检索当前用户

SPContext.Current.Web.CurrentUser;


谢谢你的建议。但不起作用。似乎只发送默认值。不管是因为登录用户是空的还是其他原因,我都不知道。谢谢Henrik,我已经按照您的建议编写了一个Web部件并使用了代码。我试图做到这一点,没有编写任何代码,只是使用sharepoint designer,正如我所看到的那样。真的。但前提是上下文可用。对于Web部件,SharePoint部署的Web服务。。。如果您有一个简单的ASP.NET应用程序,它只使用SharePoint对象模型,我认为没有SPContext。