我在谁的网站上?(编程)
本文关键字:编程 网站 | 更新日期: 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
另一种可能的方法是使用SPSite
的Owner
属性。这将给你一个SPUser
对象,这通常是更可取的。此属性与"站点所有者"属性相关,该属性可以在"更改站点集管理员"下的中央管理中配置。但是请注意,由于这是可以配置的,因此不能将其作为知道您在谁的站点的绝对来源。