Example #1
0
        private static void CheckAceConsistency(SecurityConsistencyResult result, IDictionary <int, SecurityEntity> secCachedEntities)
        {
            // Checks whether every ACE in the security db is valid for the repository: EntityId and IdentityId are
            // exist as SecurityEntity.
            var storedAces = SecurityHandler.SecurityContext.DataProvider.LoadAllPermissionEntries();

            foreach (var storedAce in storedAces)
            {
                if (!secCachedEntities.ContainsKey(storedAce.EntityId))
                {
                    result.AddInvalidAceMissingEntity(storedAce);
                }
                if (!secCachedEntities.ContainsKey(storedAce.IdentityId))
                {
                    result.AddInvalidAceMissingIdentity(storedAce);
                }
            }
        }