2010-08-16 85 views
0

许多地方使用共享点。获取在外部Sharepoint Web部分登录用户

当他们在Web部件中查看我们的应用时,我们如何安全地检索登录的Sharepoint用户?

+0

您的应用程序在* SharePoint中运行*,还是通过IFrame/Page Viewer查看? – kbrimington 2010-08-16 21:46:53

+0

对不起,应该说通过页面查看器/ iFrame 除非有另一种方式来实际运行外部托管的应用程序在Sharepoint? – 2010-08-17 13:19:18

回答

0

如果您的WebPart正在SharePoint中运行,您可以从SPContext获取当前用户。

SPContext.Current.Web.CurrentUser.LoginName 

Shane。

+0

谢谢,但如果Web部件是外部的,即Sharepoint位于本地网络Intranet上,并且我们的应用托管在其他位置,则我们无法这样做。 – 2010-08-17 13:18:40

+0

好的,你可以创建一个呈现iFrame的web部件,并且可以为包含所需信息的querystring附加一个额外的值? – Shaneo 2010-08-17 14:10:15

+0

这可能但不安全。即http://ourapp.com?user=SPContext.Current.Web.CurrentUser.LoginName 任何人都可能只是篡改URL – 2010-08-18 00:50:09

0

您需要在SharePoint上下文中才能获取代码中的SPUser对象。 否则,你可能只是尝试

Context.User.Identity.Name 

当然但这不会在广告名称,而不是SharePoint用户。

+0

这不会工作,虽然它只是一个外部应用程序在iframe里面的共享点 – 2010-08-18 00:49:15

+1

是的,这就是我的意思 - 你只能得到HttpContext,而不是SPContext。 – RogerNoble 2010-08-18 01:05:00

+0

同意,你应该能够从HttpContext获取AD证书 – Shaneo 2010-08-18 08:44:43