我的网站是谁? (编程)

时间:2011-10-12 04:52:36

标签: c# .net sharepoint mysite

我正在构建一个Web部件来放置Sharepoint我的网站。我需要获取其网站部分所在的我的网站的SPUser。目前我只是使用

Request.QueryString["accountname"]

但这不适用于我自己的网站,我不确定它是否会一直有效。

3 个答案:

答案 0 :(得分:2)

Request.QueryString["accountname"]为空时,用户应该使用自己的mysite,然后您可以查看SPContext.Current.Web.CurrentUser以获取用户。

答案 1 :(得分:2)

这是使用UserProfile(Microsoft.Office.Server.UserProfiles)的另一种方法

var profileLoader =   Microsoft.SharePoint.Portal.WebControls.ProfilePropertyLoader.FindLoader(HttpContext.Current.Handler as Page);
var userProfile = profileLoader.ProfileLoaded;

var loginName = userProfile["AccountName"];

然后从SPContext.Current.Web获取SPUser;

答案 2 :(得分:1)

另一种可能的方法是使用SPSite的{​​{1}}属性。这将为您提供一个Owner对象,通常更可取。此属性与“站点所有者”属性相关,可以在“更改站点集管理员”下的中央管理员中进行配置。但请注意,由于可以对其进行配置,因此不应将其视为了解您所在网站的绝对来源。