1
如何检查指定的组是否具有某个项目的特定权限? 我知道在项目上有像DoesUserHavePermissions()这样的方法,但是组呢?Programmaticaly检查SharePoint Portal组的权限
如何检查指定的组是否具有某个项目的特定权限? 我知道在项目上有像DoesUserHavePermissions()这样的方法,但是组呢?Programmaticaly检查SharePoint Portal组的权限
未经测试的代码,但类似的东西。
这同时适用于组和用户,也为所有的权限(项,列表网等)
public static bool DoesPrincipalHavePermission(ISecurableObject @object, SPPrincipal principal, SPRoleDefinition role)
{
var assignment = @object.RoleAssignments.GetAssignmentByPrincipal(principal);
if (assignment == null || assignment.RoleDefinitionBindings.Count < 1)
return false;
foreach (SPRoleDefinition r in assignment.RoleDefinitionBindings)
{
if (r.BasePermissions == role.BasePermissions)
return true;
}
return false;
}