コード例 #1
0
 internal AccessControlList GetAccessControlList(int entityId, EntryType entryType = EntryType.Normal)
 {
     EnterReadLock();
     try
     {
         var entity  = GetEntitySafe(entityId, true);
         var aclInfo = GetFirstAclSafe(entityId, false);
         return(aclInfo == null
             ? AclInfo.CreateEmptyAccessControlList(entityId, entity.IsInherited)
             : aclInfo.ToAccessControlList(entityId, entryType));
     }
     finally
     {
         ExitReadLock();
     }
 }
コード例 #2
0
 internal static AccessControlList GetAccessControlList(SecurityContext ctx, int entityId, EntryType entryType = EntryType.Normal)
 {
     EnterReadLock();
     try
     {
         var entity  = SecurityEntity.GetEntitySafe(ctx, entityId, true);
         var aclInfo = GetFirstAclSafe(ctx, entityId, false);
         if (aclInfo == null)
         {
             return(AclInfo.CreateEmptyAccessControlList(entityId, entity.IsInherited)); //means breaked and cleared
         }
         return(aclInfo.ToAccessContolList(entityId, entryType));
     }
     finally
     {
         ExitReadLock();
     }
 }