确定指定用户可以通过编程方式访问的SharePoint网站和网站?

确定指定用户可以通过编程方式访问的SharePoint网站和网站?,sharepoint,permissions,moss,sharepoint-2007,Sharepoint,Permissions,Moss,Sharepoint 2007,我需要确定指定用户可以通过SharePoint API在SharePoint web应用程序中访问的站点和网站。注意:指定的用户与调用代码的当前用户不同。我最初考虑使用PortalItemApprovider,但它没有提供更改构建它的用户上下文的选项。有人能提供任何替代方案吗 谢谢,MagicAndi您可以使用Webservices API: 您可以使用Webservices API: 一种可能的方法是利用模拟来确定特定用户(当前用户除外)可以通过PortalItemApprovider访问的站

我需要确定指定用户可以通过SharePoint API在SharePoint web应用程序中访问的站点和网站。注意:指定的用户与调用代码的当前用户不同。我最初考虑使用PortalItemApprovider,但它没有提供更改构建它的用户上下文的选项。有人能提供任何替代方案吗


谢谢,MagicAndi

您可以使用Webservices API:


您可以使用Webservices API:


一种可能的方法是利用模拟来确定特定用户(当前用户除外)可以通过PortalItemApprovider访问的站点和网站。此处描述了在SharePoint上下文中模拟其他用户的方法:


一种可能的方法是利用模拟来确定特定用户(当前用户除外)可以通过PortalItemApprovider访问的站点和网站。此处描述了在SharePoint上下文中模拟其他用户的方法:


不是解决此问题的最有效解决方案,但您可以在web应用程序中遍历所有网站集/网站,然后调用:

web.DoesUserHavePermissions(userID, SPBasePermissions.Open)

其中“web”是一个SPWeb对象,userID是您正在检查访问权限的用户的“DOMAIN\user.name”。在RWEP中执行此操作,并确保正确处置SPSite/SPWeb对象。

不是解决此问题的最有效解决方案,但您可以在web应用程序中遍历所有网站集/网站,然后调用:

web.DoesUserHavePermissions(userID, SPBasePermissions.Open)

其中“web”是一个SPWeb对象,userID是您正在检查访问权限的用户的“DOMAIN\user.name”。在RWEP中执行此操作,并确保正确处置您的SPSite/SPWeb对象。

意识到您需要使用API,但您也可能希望在SP管理工具包中看到权限工具:SharePoint SUSHI也可能有用(开源):意识到您需要使用API,但您可能还希望看到SP管理工具包中的权限工具:此外,SharePoint SUSHI可能很有用(开源):谢谢,Irish Cheftain,这似乎是我们可以使用的方法+1谢谢,爱尔兰Cheftain,这似乎是我们可以使用的方法+1.