Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

Okay, got a internal sharepoint setup for authenticated users (about 3000 users).

This sharepoint has one group that is specifically in one region and a small group in another region overseas (smaller group is approximately 300-400 users). On the same existing sharepoint they all have access to, I want to give the larger group user access to a specific folder for their regional data, and the smaller group access to their own specific folder with their local regional data with out either group being able to see each others data.

I know the typical way is to create specific permissions for folder by adding them to certain groups, but this is a LOT of users to manage - is there a easy way to manage/update this monthly/qtrly when people transition or come aboard?

share|improve this question
add comment

3 Answers

You can stop inheriting permissions for the particular folder and remove all existing permissions then add whichever group you need to provide access. Adding through groups is the simpler way.

share|improve this answer
    
Thank you CigarDoug and Paddy, I am now exploring Active Directory group :). –  chailof Jan 29 '13 at 20:16
add comment

Use Active Directory groups. If a collection of people is in a specific region, it is likely they are already in a specific Active Directory group for that region. Add the AD group as a member of your SharePoint group for that region's folder, and then add any individual accounts as needed to the SharePoint group.

share|improve this answer
add comment

BreakRoleInheritance for the particular folder(list/library) and remove all existing permissions. then grant Permissions to specific groups for that particular List\library

private static void removeAllPermissions(SPList CurrentList)
    {
        CurrentList.BreakRoleInheritance(false);
        SPRoleAssignmentCollection spRoleAssColl = CurrentList.RoleAssignments;
        for (int i = spRoleAssColl.Count - 1; i >= 0; i--)
        {
            spRoleAssColl.Remove(i);
        }
    }
    private static void grantPermission(SPList CurrentList, SPWeb site, SPRoleDefinition spRoledef, SPPrincipal spPrincipal)
    {
        SPRoleDefinition spRDef = spRoledef;
        SPRoleAssignment spRAssign = new SPRoleAssignment(spPrincipal);
        spRAssign.RoleDefinitionBindings.Add(spRDef);
        CurrentList.RoleAssignments.Add(spRAssign);
    }
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.