Esempio n. 1
0
 /// <summary>
 /// Custom domain name shouldn't ends with tenant base domain name.
 /// </summary>
 /// <param name="domain"></param>
 /// <returns></returns>
 private static bool CheckCustomDomain(string domain)
 {
     if (string.IsNullOrEmpty(domain))
     {
         return(false);
     }
     if (string.IsNullOrEmpty(TenantBaseDomain))
     {
         return(true);
     }
     if (domain.EndsWith(TenantBaseDomain))
     {
         return(false);
     }
     if (domain.Equals(TenantBaseDomain.TrimStart('.')))
     {
         return(false);
     }
     return(true);
 }
        /// <summary>
        /// Custom domain name shouldn't ends with tenant base domain name.
        /// </summary>
        /// <param name="domain"></param>
        /// <returns></returns>
        private static bool CheckCustomDomain(string domain)
        {
            if (string.IsNullOrEmpty(domain))
            {
                return(false);
            }
            if (!string.IsNullOrEmpty(TenantBaseDomain) &&
                (domain.EndsWith(TenantBaseDomain, StringComparison.InvariantCultureIgnoreCase) || domain.Equals(TenantBaseDomain.TrimStart('.'), StringComparison.InvariantCultureIgnoreCase)))
            {
                return(false);
            }
            Uri test;

            if (Uri.TryCreate(domain.Contains(Uri.SchemeDelimiter) ? domain : Uri.UriSchemeHttp + Uri.SchemeDelimiter + domain, UriKind.Absolute, out test))
            {
                try
                {
                    CoreContext.TenantManager.CheckTenantAddress(test.Host);
                }
                catch (TenantIncorrectCharsException)
                {
                }
                return(true);
            }
            return(false);
        }
        private static bool CheckCustomDomain(string domain)
        {
            if (string.IsNullOrEmpty(domain))
            {
                return(false);
            }
            if (!string.IsNullOrEmpty(TenantBaseDomain) &&
                (domain.EndsWith(TenantBaseDomain, StringComparison.InvariantCultureIgnoreCase) || domain.Equals(TenantBaseDomain.TrimStart('.'), StringComparison.InvariantCultureIgnoreCase)))
            {
                return(false);
            }
            Uri test;

            if (Uri.TryCreate(domain.Contains(Uri.SchemeDelimiter) ? domain : Uri.UriSchemeHttp + Uri.SchemeDelimiter + domain, UriKind.Absolute, out test))
            {
                try
                {
                    CoreContext.TenantManager.CheckTenantAddress(test.Host);
                }
                catch (TenantTooShortException ex)
                {
                    var minLength = ex.MinLength;
                    var maxLength = ex.MaxLength;
                    if (minLength > 0 && maxLength > 0)
                    {
                        throw new TenantTooShortException(string.Format(Resource.ErrorTenantTooShortFormat, minLength, maxLength));
                    }

                    throw new TenantTooShortException(Resource.ErrorTenantTooShort);
                }
                catch (TenantIncorrectCharsException)
                {
                }
                return(true);
            }
            return(false);
        }