Reference microservice solution built with the ABP Framework and .NET, runs on Kubernetes with Helm configuration, includes API Gateways, Angular and ASP.NET Core MVC applications, PostgreSQL and MongoDB databases
After upgrading to ABP Framework version 7.4.3 and migrating to .NET 8, an unexpected casting error occurs in the authorization policy handling when attempting to retrieve application configurations using AbpApplicationConfigurationController.GetAsync.
Error Details:
The error message suggests a casting problem between System.Collections.Generic.Dictionary and System.Collections.Generic.IDictionary, particularly in the method GetPoliciesNames within Microsoft.AspNetCore.Authorization.AuthorizationOptionsExtensions.
Logs:
Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController.GetAsync (Volo.Abp.AspNetCore.Mvc) - Validation state: Valid
[administration-service_52ba6acd-7]: [15:13:57 ERR] ---------- RemoteServiceErrorInfo ----------
[administration-service_52ba6acd-7]: {
[administration-service_52ba6acd-7]: "code": null,
[administration-service_52ba6acd-7]: "message": "An internal error occurred during your request!",
[administration-service_52ba6acd-7]: "details": null,
[administration-service_52ba6acd-7]: "data": {},
[administration-service_52ba6acd-7]: "validationErrors": null
[administration-service_52ba6acd-7]: }
[administration-service_52ba6acd-7]:
[administration-service_52ba6acd-7]: [15:13:57 ERR] Unable to cast object of type 'System.Collections.Generic.Dictionary`2[System.String,System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Authorization.AuthorizationPolicy]]' to type 'System.Collections.Generic.IDictionary`2[System.String,Microsoft.AspNetCore.Authorization.AuthorizationPolicy]'.
[administration-service_52ba6acd-7]: System.InvalidCastException: Unable to cast object of type 'System.Collections.Generic.Dictionary`2[System.String,System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Authorization.AuthorizationPolicy]]' to type 'System.Collections.Generic.IDictionary`2[System.String,Microsoft.AspNetCore.Authorization.AuthorizationPolicy]'.
[administration-service_52ba6acd-7]: at Microsoft.AspNetCore.Authorization.AuthorizationOptionsExtensions.GetPoliciesNames(AuthorizationOptions options)
[administration-service_52ba6acd-7]: at Volo.Abp.Authorization.AbpAuthorizationPolicyProvider.GetPoliciesNamesAsync()
[administration-service_52ba6acd-7]: at Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationAppService.GetAuthConfigAsync()
[administration-service_52ba6acd-7]: at Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationAppService.GetAsync(ApplicationConfigurationRequestOptions options)
[administration-service_52ba6acd-7]: at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
[administration-service_52ba6acd-7]: at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
[administration-service_52ba6acd-7]: at Volo.Abp.GlobalFeatures.GlobalFeatureInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
[administration-service_52ba6acd-7]: at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
Steps to Reproduce:
Upgrade to ABP Framework version 7.4.3.
Migrate to .NET 8.
Call the AbpApplicationConfigurationController.GetAsync method.
Attempt to retrieve authorization-related configurations.
Any assistance or guidance on resolving this issue in the updated environment would be highly appreciated.
After upgrading to ABP Framework version 7.4.3 and migrating to .NET 8, an unexpected casting error occurs in the authorization policy handling when attempting to retrieve application configurations using AbpApplicationConfigurationController.GetAsync.
Error Details: The error message suggests a casting problem between System.Collections.Generic.Dictionary and System.Collections.Generic.IDictionary, particularly in the method GetPoliciesNames within Microsoft.AspNetCore.Authorization.AuthorizationOptionsExtensions.
Logs:
Steps to Reproduce:
Any assistance or guidance on resolving this issue in the updated environment would be highly appreciated.
Thank you!