Beispiel #1
0
 internal string GetTrustedDomains()
 {
     TrustedDomains.RemoveAll(d => string.IsNullOrEmpty(d));
     if (TrustedDomains.Count == 0)
     {
         return(null);
     }
     return(string.Join("|", TrustedDomains.ToArray()));
 }
Beispiel #2
0
 internal void SetTrustedDomains(string trustedDomains)
 {
     if (string.IsNullOrEmpty(trustedDomains))
     {
         TrustedDomains.Clear();
     }
     else
     {
         TrustedDomains.AddRange(trustedDomains.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries));
     }
 }
        /// <summary>
        /// This method determines the Trusted Domains set in the application configuration and
        /// caches them.
        /// </summary>
        private void LoadTrustedDomains()
        {
            String setting = String.Empty;

            try
            {
                // Decode the Trusted Domains stored in the configuration and add them to the Trusted Domain list
                setting = Get("TrustedDomains");
                if (String.IsNullOrEmpty(setting))
                {
                    Trace.TraceWarning("Warning: Trusted Domains list not found in the configuration.");
                    return;
                }
            }

            catch (ConfigurationErrorsException e)
            {
                // Thrown if a failure occurs when reading the application configuration
                String errorMessage = String.Format("ConfigurationErrorsException: {0}", e.Message);
                Trace.TraceError("Error: {0}", errorMessage);
                Debug.Assert(false, errorMessage);

                // No need to continue
                return;
            }

            // Enumerate the encoded Trusted Domains from the application settings
            String[] encodedDomains = setting.Split(new char[] { ',' });
            foreach (String encodedDomain in encodedDomains)
            {
                // Decode the encoded domain
                String trustedDomain = Utility.Base64Decode(encodedDomain);
                if (trustedDomain.Length == 0)
                {
                    Trace.TraceWarning("Warning: Not adding empty item to Trusted Domains list.");
                    continue;
                }

                // Add the decoded domain to the Trusted Domain list if it doesn't already exist
                if (TrustedDomains.Contains(trustedDomain) == false)
                {
                    TrustedDomains.Add(trustedDomain);
                }
            }
        }