I need to figure out where all users and groups have been given explicit rights.
I would like to do this programmactically in C# code.
This explicit rights checker/displayer needs to produce detail results.
My issue is, I am seeing where some users and groups have limited access, but I don't know where.
I would like to create a webpart that creates a list that contains this information.
I would like to write this code into a webpart in C#.
I am using Visual Studio 2008 3.5. The Sharepoint that is being used is Sharepoint 2007 MOSS.
My thoughts are to create some sort of for each loop or linq or lamda expressions that loops through every site, web, site collection, document libraries, lists etc, which gets a the persmission level for all users and all groups.
This could have a search all function, or have an input for a group name or and input for a user name.
Than gets and adds this information to a list, if the list exists than it deletes the current list and creates a new one, if it doesn't exist, than it creates it.
Than this list will be displayed on screen in a listview format.
How I display this list doesn't matter for now, really what I need to know is how to create the list.
The list will contain many columns, the first column could be the user name or group name.
Than each column after that could be a site and the permissons level for the site that pertains to the user or group, than the next column for that site could be the permissions level for a list that pertains to that user or group in that site.
I would like to do the same thing for webs and site collections, document libraries etc.
I would liket to do this on All users and groups.
This will be a big list I know, it will only be used by developers who need to check permissions level for deployment purposes from one environment to another. It will not be run durning business operations hours.
How can I do this?
Thank you in advance for your help.