Welcome to MSDN Blogs Sign in | Join | Help

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: }
Published Monday, July 13, 2009 11:32 PM by sowmyancs

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

No Comments

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker