/// <summary>
        /// Obtain Authentication Configuration
        /// </summary>
        /// <remarks>
        /// Accessing Active Directory also costs resource,
        /// so we only do it once then save into cache for later use
        /// </remarks>
        public static Configuration GetConfig()
        {
            PortalSettings _portalSettings = PortalController.GetCurrentPortalSettings();

            string strKey = AUTHENTICATION_CONFIG_CACHE_PREFIX + "." + _portalSettings.PortalId.ToString();
            Configuration config = (Configuration)DataCache.GetCache(strKey);

            if (config == null)
            {
                config = new Configuration();
                DataCache.SetCache(strKey, config);
            }

            return config;
        }