internal string GetTrustedDomains() { TrustedDomains.RemoveAll(d => string.IsNullOrEmpty(d)); if (TrustedDomains.Count == 0) { return(null); } return(string.Join("|", TrustedDomains.ToArray())); }
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); } } }