How to delete a user from BDC permissions list
Once one my colleagues had a requirement where he want to delete users from ‘Business Data Catalogue Permissions’ programmatically.
Here are the few classes that you can use to deal with the BDC permissions programmatically:
Namespace: Microsoft.Office.Server.ApplicationRegistry.Infrastructure (Microsoft.SharePoint.Portal.dll contains the above namespace)
Classes:
1. BdcAccessControlList
2. IndividualAccessControlEntry
My colleague Varun has written a post about how to add a user to the BDC permission list through code, please take a look at his post for getting the complete snippet here.
Here I am giving the code snippet for deleting the users; however like adding the user we don’t have direct method to delete the user instead we need to do a little tweak.
1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Text;
5:
6: using Microsoft.Office.Server.ApplicationRegistry.Administration;
7: using Microsoft.Office.Server.ApplicationRegistry.Infrastructure;
8:
9: namespace RemoveUSER
10: {
11: class Program
12: {
13: static void Main(string[] args)
14: {
15: SqlSessionProvider.Instance().SetSharedResourceProviderToUse("SharedServices1");
16:
17: try
18: {
19: ApplicationRegistry registry = ApplicationRegistry.Instance;
20: IAccessControlList acl = registry.GetAccessControlList();
21: IAccessControlList acl2 = acl.Clone();
22: acl.Clear();
23: foreach (IAccessControlEntry entry in acl2)
24: {
25: if (entry.IdentityName.Equals("BLRS2R04-08\\Administrator"))
26: {
27:
28: }
29: else
30: {
31: acl.Add(entry);
32: }
33: }
34: registry.SetAccessControlList(acl);
35: }
36: catch (Exception ex)
37: {
38: }
39:
40: }
41: }
42: }