我正在构建一个Web部件来放置Sharepoint我的网站。我需要获取其网站部分所在的我的网站的SPUser。目前我只是使用
Request.QueryString["accountname"]
但这不适用于我自己的网站,我不确定它是否会一直有效。
答案 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
对象,通常更可取。此属性与“站点所有者”属性相关,可以在“更改站点集管理员”下的中央管理员中进行配置。但请注意,由于可以对其进行配置,因此不应将其视为了解您所在网站的绝对来源。