我需要使用客户端对象模型检索指定用户的子网站列表。挑战在于,这是从 C# Web 服务调用的,该服务以 SharePoint 用户身份运行,可以访问所有子网站。有没有办法过滤此列表以仅返回属于指定用户的列表?我只有用户名,没有此帐户的密码,因此使用 NetworkCredential 直接模拟是行不通的。
伪代码如下:
var clientContext = new ClientContext(siteUrl);
var site = clientContext.Web;
var user = site.CurrentUser;
clientContext.Load(site);
clientContext.Load(user);
clientContext.ExecuteQuery();
var webCollection = site.GetSubwebsForCurrentUser(null);
clientContext.Load(webCollection);
clientContext.ExecuteQuery();
foreach (var web in webCollection)
{
// should I check permissions here?
}