-->

从一个asp.net页面查看器Web部件显示当前已验证的SharePoint用户(Displayin

2019-07-30 05:02发布

我创建需要被嵌入到使用网页查看器Web部件SharePoint网站上的独立的asp.net页面。 在asp.net页面发布到同一服务器不同端口上,给我的网址以嵌入。

该要求是,用户在使用SharePoint验证身份验证后,他们浏览到包含更多的选择asp.net Web部件的页面。

我需要从这个asp.net页面做的是查询的SharePoint目前已通过验证的用户名,然后从asp.net代码的网页上显示这一点。

当我从调试VS应用这一切工作正常,但公布,虽然显示的Sharepoint的时候,我总是NULL作为用户。

的最佳方式的任何建议,得到这个工作将非常感激。

Answer 1:

如果要检索从SharePoint上下文中的当前身份验证的用户,你需要保持在SharePoint环境中。 这意味着托管SharePoint中的自定义Web应用程序(参见http://msdn.microsoft.com/en-us/library/cc297200.aspx )。 然后从您的自定义应用程序的参考和Microsoft.SharePoint程序使用SPContext对象来检索用户名。 例如:

SPContext.Current.Web.CurrentUser.LoginName

您还可以使用页面查看器Web部件引用的网站,现在位于SharePoint环境中的URL。



Answer 2:

感谢堆的答案!

原来,只要在asp.net页面使用相同的URL和端口为SharePoint网站,验证跨这两个站点的工作。

该解决方案是使用一个虚拟目录的SharePoint站点的内部和安装asp.net页面出现。



Answer 3:

当它工作在调试,是在SharePoint中使用?

您的网页和SharePoint网站很可能会成为在不同服务器上就认证而言 - 为了获取信息,因此可能需要,如果你可以通过查询字符串从WebPart通过它 - 或者你可能需要使自己的WebPart要做到这一点(只是把一个IFRAME的部分设置为你的页面查询字符串传递用户名SRC)。

它似乎,这将是一个安全问题,如果你的任何东西使用的名称虽然 - 如果你是刚刚显示出来,那么它可能罚款。

如果你确实需要进行身份验证,您可能需要添加认证到承载您的独立页面的网站的web.config文件。

编辑:我认为你有更好的运气把你的页面相同的端口和服务器的SharePoint上。



Answer 4:

我怀疑你将有一个很难具体查询的SharePoint目前已通过验证的用户名。 我不能想办法像你所描述很容易地从一个单独的Web应用程序访问SharePoint环境。

我不知道什么样的你正在使用的身份验证方案,但你可能要考虑使用Kerberos,因为我发现,它可以使这些种情景模式轻松一点通过允许代表团将凭据传递从应用程序到应用程序或服务器到服务器。



文章来源: Displaying the current authenticated Sharepoint user from an asp.net Page Viewer Web Part