Got an answer here . I can set the field in the BCS model as WindowsSecurityDescriptorField, and then I can use the native code in my BCS methods to create ACLs:
Byte[] GetSecurityDescriptor(string domain, string username) { NTAccount acc = new NTAccount(domain, username); var sid = (SecurityIdentifier)acc.Translate(typeof(SecurityIdentifier)); CommonSecurityDescriptor sd = new CommonSecurityDescriptor(false, false, ControlFlags.None,sid,null, null, null); sd.SetDiscretionaryAclProtection(true, false);
This works well and allows me to create custom ACLs after I have transferred users between the backend system and Active Directory.
I'm still curious to find out if anyone has any other way if you have security as part of the BCS model.
source share