.net - 使用客户端对象模型获取用户在共享点中没有权限的子网站的名称

标签 .net sharepoint sharepoint-clientobject

您好,我正在使用 .net 中的客户端对象模型来访问共享点数据。 我有一个网站,其中有一些子网站。在这些子网站中,有些网站不适合我。 我想获取该子网站的列表(至少是该子网站的标题),这样我就可以通知用户这是他无权访问的子网站。

有没有办法使用.Net 中的客户端对象模型来实现这一点。

目前我正在使用 getsubwebsforcurrentuser 方法,如下所示:它为我提供了我有权访问的子网站列表。但我对我无权访问的子网站标题更感兴趣。

ClientContext clientContext = new ClientContext(path);
                Web oWebsite = clientContext.Web;
                WebCollection collWeb = oWebsite.GetSubwebsForCurrentUser(null);
                clientContext.Load(collWeb);

之前我使用了以下代码。这引发了 serverunauthorizedaccessexception 接收,显然是因为我无权访问其中一个子网站

            ClientContext clientContext = new ClientContext(path);
            Web oWebsite = clientContext.Web;
            clientContext.Load(oWebsite, website => website.Webs, website => website.Title);

请帮助我获取我无权访问的子网站列表,是否有任何方法可以实现此目的?

最佳答案

由于安全调整通过 CSOM。

但是您可以通过 SharePoint Web Services 来完成此操作,特别是使用 Webs.GetWebCollection method :

using(var proxy = new Webs())
{
     proxy.Url = webUri + "/_vti_bin/Webs.asmx"; 
     var result = proxy.GetWebCollection();
     var nodes = result.SelectNodes("*");
     foreach (XmlNode node in nodes)
     {
            var webTitle = node.Attributes["Title"].Value;

     }
}   

关于.net - 使用客户端对象模型获取用户在共享点中没有权限的子网站的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27385755/

相关文章:

c# - 如何在 Windows 窗体应用程序中获取 VPN 用户的当前用户身份?

c# - 如何在 Sharepoint 中以编程方式调用 Windows 身份验证?

javascript - "The property or field ' 尝试通过 JavaScript 访问 SharePoint 中库的 GUID 时 ID ' has not been initialized. It has not been requested..."

c# - 如何模拟管理员用户创建 OneDrive 或个人网站?

c# - 线程可以作为另一个用户执行吗? (.NET 2.0/3.5)

c# - 如何通过 C# WebClient 发送 HTTP DELETE 请求?

c# - 继承默认 ComboBox 以更改边框颜色或禁用它

sharepoint - 如何在 PowerShell 函数中安全地处理 SharePoint 对象?

javascript - SharePoint Online - Javascript 捆绑

Sharepoint 2010 客户端对象模块获取站点 url 列表