I have a sharepoint list of 2000 employees . They are from 25 different offices. One of the fields is Office name. I would like to restrict access so each office can see only their employees but here in the regional office we can see all employees. I have tried using folders providing a folder for each office and giving that offices group access to their folder but this causes problems when employees are moving from one location to another. Is there another way to achieve this goal?
The best solution is probably to keep using folders for security, that's the only thing they're really good at in SharePoint. Maintaining 2000 items with special permissions will be a nightmare and will cause SharePoint to perform badly.
So keep your 25 folders each with broken inheritance and special permissions.
But you should still have the office a separate field as the best way to show the information in the list would be in views with folders turned off.
In order to make sure the items are moved to the right folder it would be preferable to use an event receiver to do that when items are created/updated.
The code in the event receiver could also add people to the AD groups which gives them permission to see the right information, but it might be better to put that logic into a timer job.
You have to give permission item wise.
- First you have to break inheritance for the item.
- Then you have to give permission to particular group as per Office Name, you can create same group as Office name
- You can move group members as they move from one office to another.
Yea will create more work at your side, and above all things can be automated by workflow.
Using SharePoint designer tool you can create groups for these 25 different offices, in the SharePoint designer there is a option for List permission using that you can give permission for the offices.
you can create view on the based of the offices and then assign each view to their respective offices only. you can create security group for each office, than its easy to handle the user when he move from one office to others.
if you are interested in 3rd party then Bamboo having the solution for this:http://store.bamboosolutions.com/sharepoint-column-level-security.aspx
I had a similar issue where I wanted certain users to see certain parts of a library on a home page. I ended up making a security group that matched with an associated view for each part of metadata I wanted to sort by. I then made multiple library web parts with the selected view and audience set to the metadata I wanted to sort by.
Each web part is only visible to the sharepoint group set in the audience and they have the view that applies to that sharepoint group. If they click into the library, the view holds.
If it's important that they not be able to access other views, there is a workaround here, but it involves using sharepoint designer.