diff --git a/framework/src/Volo.Abp.AspNetCore.MultiTenancy/Volo/Abp/AspNetCore/MultiTenancy/MultiTenancyMiddleware.cs b/framework/src/Volo.Abp.AspNetCore.MultiTenancy/Volo/Abp/AspNetCore/MultiTenancy/MultiTenancyMiddleware.cs index 8fc6a3995c..00b3f87056 100644 --- a/framework/src/Volo.Abp.AspNetCore.MultiTenancy/Volo/Abp/AspNetCore/MultiTenancy/MultiTenancyMiddleware.cs +++ b/framework/src/Volo.Abp.AspNetCore.MultiTenancy/Volo/Abp/AspNetCore/MultiTenancy/MultiTenancyMiddleware.cs @@ -118,6 +118,12 @@ public class MultiTenancyMiddleware : IMiddleware, ITransientDependency uiCulture = defaultLanguage; } - return new RequestCulture(culture, uiCulture); + if (CultureHelper.IsValidCultureCode(culture) && + CultureHelper.IsValidCultureCode(uiCulture)) + { + return new RequestCulture(culture, uiCulture); + } + + return null; } } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Localization/AbpLanguagesController.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Localization/AbpLanguagesController.cs index 9f5d6aa530..8a4f82953a 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Localization/AbpLanguagesController.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Localization/AbpLanguagesController.cs @@ -1,6 +1,7 @@ using Microsoft.AspNetCore.Localization; using Microsoft.AspNetCore.Mvc; using System; +using System.Globalization; using System.Threading.Tasks; using Microsoft.AspNetCore.RequestLocalization; using Volo.Abp.Auditing; @@ -30,6 +31,11 @@ public class AbpLanguagesController : AbpController throw new AbpException("The selected culture is not valid! Make sure you enter a valid culture code."); } + if (!CultureHelper.IsValidCultureCode(uiCulture)) + { + throw new AbpException("The selected uiCulture is not valid! Make sure you enter a valid culture code."); + } + AbpRequestCultureCookieHelper.SetCultureCookie( HttpContext, new RequestCulture(culture, uiCulture) diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Localization/CultureHelper.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Localization/CultureHelper.cs index 74a62116a4..adf2890b21 100644 --- a/framework/src/Volo.Abp.Core/Volo/Abp/Localization/CultureHelper.cs +++ b/framework/src/Volo.Abp.Core/Volo/Abp/Localization/CultureHelper.cs @@ -47,7 +47,7 @@ public static class CultureHelper try { - CultureInfo.GetCultureInfo(cultureCode); + _ = CultureInfo.GetCultureInfo(cultureCode); return true; } catch (CultureNotFoundException)