测试用户是否有权访问SharePoint中的项目

时间:2013-02-28 17:54:31

标签: sharepoint

我有一个项目,我有一个用户名(但不是密码),需要检查用户是否可以访问项目。这必须在项目级别而不是Web级别,因为权限可能不会被继承。

我知道SPWeb.CheckPermissions,但认为它只会测试用户是否可以访问实际的spweb。

由于

==编辑==

我能够通过这样做实现这个目标

var item = properties.ListItem;
SPUser user = SPContext.Current.Web.EnsureUser(@"domain\logonname");
item.DoesUserHavePermissions(user, SPBasePermissions.OpenItems);

我的问题仍有一点。这可以通过网络服务API进行吗?

1 个答案:

答案 0 :(得分:0)

使用SharePoint 2013,您可以使用REST API查询静态方法。一个有趣的方法是SPUtility.GetPrincipalsInGroup。当然你不能要求“有开放许可”,但你可以要求一个特定的小组。要查询静态方法,请参阅:Programming using the SharePoint 2013 REST service,查找将静态方法和属性指定为REST服务URI 部分。当然,您必须使用经过身份验证的用户调用Web Service,并且需要启用该组以供所有用户枚举。