我在谁的网站上?(编程)

本文关键字:编程 网站 | 更新日期: 2023-09-27 18:11:05

我正在构建一个web部件放在Sharepoint我的网站。我需要得到的SPUser我的网站上的web部件。目前我只使用

Request.QueryString["accountname"]

,但这将不工作在我自己的我的网站,我不确定它将工作所有的时间

我在谁的网站上?(编程)

Request.QueryString["accountname"]为空时,用户应该在自己的网站上,这样您就可以在SPContext.Current.Web.CurrentUser中查找用户

这里有另一种方法使用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

另一种可能的方法是使用SPSiteOwner属性。这将给你一个SPUser对象,这通常是更可取的。此属性与"站点所有者"属性相关,该属性可以在"更改站点集管理员"下的中央管理中配置。但是请注意,由于这是可以配置的,因此不能将其作为知道您在谁的站点的绝对来源。