C# asp.net web表单获取sharepoint用户名

C# asp.net web表单获取sharepoint用户名,c#,asp.net,sharepoint,webforms,C#,Asp.net,Sharepoint,Webforms,因此,我在asp.net和c#中构建了一个web应用程序。该web应用程序将通过iframe或其他方式显示在sharepoint网页中,这不取决于我。我需要完成项目的是一种获取sharepoint登录用户名的方法 有人告诉我,这很简单,可以用以下代码完成: using Microsoft.SharePoint; SPContext.Current.Web.CurrentUser.LoginName 但是,我会遇到以下错误: “命名空间“Microsoft”中不存在类型或命名空间名称“Shar

因此,我在asp.net和c#中构建了一个web应用程序。该web应用程序将通过iframe或其他方式显示在sharepoint网页中,这不取决于我。我需要完成项目的是一种获取sharepoint登录用户名的方法

有人告诉我,这很简单,可以用以下代码完成:

using Microsoft.SharePoint;

SPContext.Current.Web.CurrentUser.LoginName
但是,我会遇到以下错误:

“命名空间“Microsoft”中不存在类型或命名空间名称“SharePoint”(是否缺少程序集引用?)

“当前上下文中不存在名称'SPContext'


你们知道如何解决这个问题吗?或者知道其他方法吗?

听起来你们没有在Sharepoint服务器上运行aspx,这是唯一能够调用SPContext来获取当前登录的Sharepoint用户的方法

如果可以在父sharepoint页面上运行自定义代码,则可以将当前用户的登录名存储在javascript DOM中,然后在iframe ASP.NET页面中访问该登录名,假设两个页面位于同一域中。您可以在javascript中获得如下登录名:

window.parent.document.getElementById('currentLoginName')

尝试将目标平台更改为x64,将目标框架更改为.NET 3.5(如果使用vs2012和Sharpoint 2013,则为4.5)。

在sharepoint 2013中,我使用了
此.Page.User.Identity.Name
,对我来说效果很好。希望可以帮助您。

您的项目参考资料中是否包含了对Sharepoint的参考资料?没有,没有人告诉我必须这样做。你知道我要在哪里添加dll吗?我正在我的电脑上开发aspx等,稍后将在www.schoolsystem.epbc.com之类的网站上托管,然后在sharepoint页面上会有一个指向该url的iframe。我有什么解决办法?他们希望它位于sharepoint中的唯一原因是,用户可以使用顶部的栏注销等,这不包括在我的项目中,这就是为什么我需要捕获登录的用户。(否则我将自己创建帐户系统。登录等)但他们不希望这样,如果Sharepoint网站和您的自定义aspx页面不在同一个域(例如schoolsystem.epbc.com),您将无法访问父页面上的任何javascript对象。如果可能的话,最好的方法是在Sharepoint网站的LAYOUTS文件夹中将您的功能开发为自定义aspx页面。这样你就可以直接调用Sharepoint对象模型来获取当前登录的用户。他们告诉我这将是我上面写的方式,我认为我告诉他们的任何事情都不会改变他们的想法。你知道其他的方法吗,代码方面的还是什么。如果我设法在某个地方获得了一个microsoft.sharepoint.dll并将其添加到引用中,该怎么办。它会工作吗?如果目标是用户不必为您的功能设置单独的用户名和密码,那么您可以使用Windows身份验证(假设他们从其内部Windows网络访问)。根据您的说法,我认为您无法使用Sharepoint获取当前登录的用户。仅包含Microsoft.Sharepoint.DLL将不允许您从位于另一台服务器上的Sharepoint站点提取数据。