Example #1
0
        /// <summary>
        /// Slow method for mapping all the possible inconsistencies in the
        /// repository and the security component's stored and cached values.
        /// </summary>
        /// <param name="contentIds">List of all content ids in the repository.</param>
        /// <param name="groupIds">List of all the security containers in the repository. It will be enumerated once.</param>
        private static SecurityConsistencyResult CheckSecurityConsistency(IEnumerable <int> contentIds, IEnumerable <int> groupIds)
        {
            var result = new SecurityConsistencyResult();

            result.StartTimer();

            var secCachedEntities = SecurityHandler.GetCachedEntities();

            CheckSecurityEntityConsistency(contentIds, secCachedEntities, result);
            CheckMembershipConsistency(groupIds, result);
            CheckAceConsistency(result, secCachedEntities);

            result.StopTimer();

            return(result);
        }