I tried to create a permission using Static Permission Definition Store and without restarting the API (Swagger) I am unable to save the permission.
When I debug it, it goes to SetAsync()
in PermissionManager class
the
PermissionDefinitionManager
cant seem to find the permission.
Here is how I insert the permission:
// Add Branch
if (branch is not null && state is not null && input.FilterFieldID.Equals(branch.Id))
{
var branch_state = input.FilterValueParts.FirstOrDefault(x => x.ID.Equals(state.Id))?.Value.Replace(" ", "");
var statePermission = await _permissionDefinitionManager.GetAsync(KMSv4Permissions.States.Default + "." + branch_state);
if(statePermission is not null)
{
statePermission.AddChild("KMSv4.Branches." + f.Value.Replace(" ", ""), L(f.Value));
await _staticPermissionDefinitionStore.AddPermissionDefinitionAsync(statePermission.Name, statePermission);
}
}
// Add State
if (state is not null && input.FilterFieldID.Equals(state.Id))
{
var statePermission = await _permissionDefinitionManager.GetAsync(KMSv4Permissions.States.Default);
string state_permission_name = KMSv4Permissions.States.Default + "." + f.Value.Replace(" ", "");
if (statePermission is not null)
{
statePermission.AddChild(state_permission_name, L(f.Value));
await _staticPermissionDefinitionStore.AddPermissionDefinitionAsync(statePermission.Name, statePermission);
}
}
and here is a function I created by following https://abp.io/support/questions/5490/Need-to-refresh-the-list-of-static-permission-definitions-without-site-reload?CurrentPage=1.
public class ExtendedStaticPermissionDefinitionStore : StaticPermissionDefinitionStore, IExtendedStaticPermissionDefinitionStore
{
public ExtendedStaticPermissionDefinitionStore(IServiceProvider serviceProvider, IOptions options) : base(serviceProvider, options)
{
}
public Task AddPermissionDefinitionAsync(string key, PermissionDefinition permissionDefinition)
{
if (!PermissionDefinitions.ContainsKey(key))
{
PermissionDefinitions.Add(key, permissionDefinition);
}
return Task.CompletedTask;
}
}
public interface IExtendedStaticPermissionDefinitionStore : IStaticPermissionDefinitionStore
{
Task AddPermissionDefinitionAsync(string key, PermissionDefinition permissionDefinition);
}
Thanks!
I have followed this tread https://abp.io/support/questions/5490/Need-to-refresh-the-list-of-static-permission-definitions-without-site-reload?CurrentPage=1 and I've managed to get the permission to show up in my roles.
Here is a quick simple flow of what I want to do. I have module to create either a branch or a state and I would like it directly tied to permissions. So, meaning a role can have several branches/states (permission). When I create a branch/state, it should show up in my permissions for me to assign under roles.
Here is where I create a branch.
and it does show up after I created the branch, without actually needed to restart the API. But it is showing up at the bottom, it should be under 'States'
Like the above as its parent is under 'Pulau Pinang'.
From what I got is that it is correctly assigned but somehow not showing up properly under its parent state.
This is fixed if I restart the API(Swagger), is there anyway where I don't have to restart the API?
The more crucial issue here is when I check that permission and save it. It does not save it.
When I debug it, it goes to SetAsync()
in PermissionManager
class
the PermissionDefinitionManager
cant seem to find the permission.
Here is how I insert the permission:
// Add Branch
if (branch is not null && state is not null && input.FilterFieldID.Equals(branch.Id))
{
var branch_state = input.FilterValueParts.FirstOrDefault(x => x.ID.Equals(state.Id))?.Value.Replace(" ", "");
var statePermission = await _permissionDefinitionManager.GetAsync(KMSv4Permissions.States.Default + "." + branch_state);
if(statePermission is not null)
{
statePermission.AddChild("KMSv4.Branches." + f.Value.Replace(" ", ""), L(f.Value));
await _staticPermissionDefinitionStore.AddPermissionDefinitionAsync(statePermission.Name, statePermission);
}
}
// Add State
if (state is not null && input.FilterFieldID.Equals(state.Id))
{
var statePermission = await _permissionDefinitionManager.GetAsync(KMSv4Permissions.States.Default);
string state_permission_name = KMSv4Permissions.States.Default + "." + f.Value.Replace(" ", "");
if (statePermission is not null)
{
statePermission.AddChild(state_permission_name, L(f.Value));
await _staticPermissionDefinitionStore.AddPermissionDefinitionAsync(statePermission.Name, statePermission);
}
}
and here is a function I followed in the thread mentioned above.
public class ExtendedStaticPermissionDefinitionStore : StaticPermissionDefinitionStore, IExtendedStaticPermissionDefinitionStore
{
public ExtendedStaticPermissionDefinitionStore(IServiceProvider serviceProvider, IOptions<AbpPermissionOptions> options) : base(serviceProvider, options)
{
}
public Task AddPermissionDefinitionAsync(string key, PermissionDefinition permissionDefinition)
{
if (!PermissionDefinitions.ContainsKey(key))
{
PermissionDefinitions.Add(key, permissionDefinition);
}
return Task.CompletedTask;
}
}
public interface IExtendedStaticPermissionDefinitionStore : IStaticPermissionDefinitionStore
{
Task AddPermissionDefinitionAsync(string key, PermissionDefinition permissionDefinition);
}
Thanks!
Check the docs before asking a question: https://abp.io/docs/latest
Check the samples to see the basic tasks: https://abp.io/docs/latest/samples
The exact solution to your question may have been answered before, and please first use the search on the homepage.
Provide us with the following info:
🧐 Hint: If you are using the ABP Studio, you can see all the information about your solution from the configuration window, which opens when you right-click on the solution and click on the Solution Configuration
button.
I have installed the module Volo.Abp.PermissionManagement
along with a few others from using Abp Studio along with the source code.
I have added the Remote Service in my HttpApi.Host
project appsetting.json
of the Permission Management Module.
The project builds with no errors and I've managed to login to my Angular Frontend but when I want to access Administration > Identity Management > Roles > Permissions
I get hit with the exception message above on loop.
"RemoteServices": {
"Defaut": {
"BaseUrl": "https://localhost:44318"
},
"AbpPermissionManagement": {
"BaseUrl": "https://localhost:44318"
},
"AbpAccountAdmin": {
"BaseUrl": "https://localhost:44318"
},
"AbpAccountPublic": {
"BaseUrl": "https://localhost:44318"
},
"AbpIdentity": {
"BaseUrl": "https://localhost:44318"
},
"OpenIddictPro": {
"BaseUrl": "https://localhost:44318"
}
}
Above is the RemoteServices I've created in the appsetting.json
. Not sure if Default is needed as the project was working well without it and before I imported these modules.
Is there anything I am missing here? Thanks!
[17:27:47 ERR] Hosting failed to start
System.TypeLoadException: Method 'Clone' in type 'Microsoft.EntityFrameworkCore.InMemory.Storage.Internal.InMemoryTypeMapping' from assembly 'Microsoft.EntityFrameworkCore.InMemory, Version=7.0.9.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' does not have an implementation.
at Microsoft.EntityFrameworkCore.InMemory.Storage.Internal.InMemoryTypeMappingSource.FindMapping(TypeMappingInfo& mappingInfo)
at Microsoft.EntityFrameworkCore.Storage.TypeMappingSource.<>c.<FindMappingWithConversion>b__3_0(ValueTuple4 k, TypeMappingSource self) at System.Collections.Concurrent.ConcurrentDictionary
2.GetOrAdd[TArg](TKey key, Func3 valueFactory, TArg factoryArgument) at Microsoft.EntityFrameworkCore.Storage.TypeMappingSource.FindMappingWithConversion(TypeMappingInfo mappingInfo, Type providerClrType, ValueConverter customConverter) at Microsoft.EntityFrameworkCore.Storage.TypeMappingSource.FindMapping(MemberInfo member, IModel model, Boolean useAttributes) at Microsoft.EntityFrameworkCore.Metadata.Internal.MemberClassifier.IsCandidatePrimitiveProperty(MemberInfo memberInfo, IConventionModel model, Boolean useAttributes, CoreTypeMapping& typeMapping) at Microsoft.EntityFrameworkCore.Metadata.Conventions.PropertyDiscoveryConvention.IsCandidatePrimitiveProperty(MemberInfo memberInfo, IConventionTypeBase structuralType, CoreTypeMapping& mapping) at Microsoft.EntityFrameworkCore.Metadata.Conventions.PropertyDiscoveryConvention.DiscoverPrimitiveProperties(IConventionTypeBaseBuilder structuralTypeBuilder, IConventionContext context) at Microsoft.EntityFrameworkCore.Metadata.Conventions.PropertyDiscoveryConvention.ProcessEntityTypeAdded(IConventionEntityTypeBuilder entityTypeBuilder, IConventionContext
1 context)
at Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ConventionDispatcher.ImmediateConventionScope.OnEntityTypeAdded(IConventionEntityTypeBuilder entityTypeBuilder)
at Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ConventionDispatcher.OnEntityTypeAddedNode.Run(ConventionDispatcher dispatcher)
at Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ConventionDispatcher.DelayedConventionScope.Run(ConventionDispatcher dispatcher)
at Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ConventionDispatcher.ConventionBatch.Run()
at Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ConventionDispatcher.ConventionBatch.Dispose()
at Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ConventionDispatcher.ImmediateConventionScope.OnModelInitialized(IConventionModelBuilder modelBuilder)
at Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ConventionDispatcher.ImmediateConventionScope.OnModelInitialized(IConventionModelBuilder modelBuilder)
at Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ConventionDispatcher.OnModelInitialized(IConventionModelBuilder modelBuilder)
at Microsoft.EntityFrameworkCore.Metadata.Internal.Model..ctor(ConventionSet conventions, ModelDependencies modelDependencies, ModelConfiguration modelConfiguration)
at Microsoft.EntityFrameworkCore.ModelBuilder..ctor(ConventionSet conventions, ModelDependencies modelDependencies, ModelConfiguration modelConfiguration)
at Microsoft.EntityFrameworkCore.ModelConfigurationBuilder.CreateModelBuilder(ModelDependencies modelDependencies)
at Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.CreateModel(DbContext context, IConventionSetBuilder conventionSetBuilder, ModelDependencies modelDependencies)
at Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.GetModel(DbContext context, ModelCreationDependencies modelCreationDependencies, Boolean designTime)
at Microsoft.EntityFrameworkCore.Internal.DbContextServices.CreateModel(Boolean designTime)
at Microsoft.EntityFrameworkCore.Internal.DbContextServices.get_Model()
at Microsoft.EntityFrameworkCore.Infrastructure.EntityFrameworkServicesBuilder.<>c.<TryAddCoreServices>b__8_4(IServiceProvider p)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor
2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor
2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor
2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor
2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor
2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor
2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass2_0.<RealizeService>b__0(ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
at Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependencies()
at Microsoft.EntityFrameworkCore.DbContext.get_ContextServices()
at Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider()
at Microsoft.EntityFrameworkCore.DbContext.Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<System.IServiceProvider>.get_Instance()
at Microsoft.EntityFrameworkCore.Infrastructure.Internal.InfrastructureExtensions.GetService(IInfrastructure1 accessor, Type serviceType) at Microsoft.EntityFrameworkCore.Infrastructure.Internal.InfrastructureExtensions.GetService[TService](IInfrastructure
1 accessor)
at Microsoft.EntityFrameworkCore.Infrastructure.AccessorExtensions.GetService[TService](IInfrastructure1 accessor) at Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade.get_ProviderName() at Microsoft.EntityFrameworkCore.DatabaseFacadeExtensions.IsInMemory(DatabaseFacade database) in /_/src/HealthChecks.UI/Extensions/DatabaseFacadeExtensions.cs:line 11 at HealthChecks.UI.Core.HostedService.UIInitializationHostedService.ShouldMigrateDatabaseAsync(HealthChecksDb context) in /_/src/HealthChecks.UI/Core/HostedService/UIInitializationHostedService.cs:line 107 at HealthChecks.UI.Core.HostedService.UIInitializationHostedService.InitializeDatabaseAsync(IServiceProvider sp) in /_/src/HealthChecks.UI/Core/HostedService/UIInitializationHostedService.cs:line 48 at HealthChecks.UI.Core.HostedService.UIInitializationHostedService.StartAsync(CancellationToken cancellationToken) in /_/src/HealthChecks.UI/Core/HostedService/UIInitializationHostedService.cs:line 34 at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>b__14_1(IHostedService service, CancellationToken token) at Microsoft.Extensions.Hosting.Internal.Host.ForeachService[T](IEnumerable
1 services, CancellationToken token, Boolean concurrent, Boolean abortOnFirstException, List1 exceptions, Func
3 operation)
at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
Microsoft.EntityFrameworkCore.InMemory
of version 7.0.9
with visual studio 2022 search all. What am I missing? Thanks in advance!Hi,
I'm getting this error when attempting to run my Angular Frontend.
My angular is compiled succesfully with no error.
I've tried both yarn install and npm install and it still prompts this error and below is all I am seeing.
Hi I'm getting this when trying to generate CRUD for my project. I made sure that the project and suite are both using v7.4.2
How and where do I change the logo for the login page and the background?
Is there any way to get permissions on startup instead of waiting to serve the angular to define the permissions?
I have another project running the latest ABP.io V7.4.0 and noticed that it will hit on startup. What are the differences?
Thanks, Jordan
Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.
If you're creating a bug/problem report, please include the followings:
Hi, I have created a project using ABP Monolithic Architecture and have deployed to IIS on my client's windows server.
I've created 2 websites in the IIS, one for the Swagger API and Another for the Angular Frontend. Everything works fine with the deployment no issues, its just that occasionally it will encounter error 500 when calling for Application Configuration. This should be to get the localizations and set up the permissions, and should be called when accessing the Angular page. This happens once every 1-2 days, and the current solution is to directly restart the IIS from the server itself. Was wondering if this issue is common when deployed to IIS.
Above is the image containing the error when loading the Angular Page.
Thank you! Jordan Chen
If you're creating a bug/problem report, please include the followings:
Hi, I am currently using the microservice template generated by abp commercial. I can run all the services without a hitch on my local dev machine. I've switched the database to PostgreSQL and the entire solution runs well on tye.
Currently, I'm in the progress of deploying this solution to Azure Kubernetes using Azure Container Registry as my repository.
What I have set up on Azure Cloud:
Is there any help/guide/documentation regarding this deployment? I am also planning to use Azure CI/CD in the future.
My current deployment procedure is:
For some reason, when I deploy the Auth Server, the deployment, 'Ready' status is an error. But when running in localhost it runs fine. (3)
Below is my appsettings.json for AuthServer
{
"App": {
//"SelfUrl": "https://localhost:44322",
"SelfUrl": "http://20.92.102.114:4322",
"CorsOrigins": "https://*.KMS4.com,http://localhost:4200,https://localhost:44307,https://localhost:44325,https://localhost:44353,https://localhost:44367,https://localhost:44388,https://localhost:44381,https://localhost:44361,http://20.92.102.114:4322",
"RedirectAllowedUrls": "http://localhost:4200,https://localhost:44307,https://localhost:44321",
"DisablePII": "false"
},
"AuthServer": {
//"Authority": "https://localhost:44322",
"Authority": "http://20.92.102.114:4322",
"RequireHttpsMetadata": "true",
"SwaggerClientId": "WebGateway_Swagger"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"IdentityService": "User ID=[username];Password=[password];Host=aldankms4.postgres.database.azure.com;Port=5432;Database=KMS4_Identity;Pooling=false",
"AdministrationService": "User ID=[username];Password=[password];Host=aldankms4.postgres.database.azure.com;Port=5432;Database=KMS4_Administration;Pooling=false",
"SaasService": "User ID=[username];Password=[password];Host=aldankms4.postgres.database.azure.com;Port=5432;Database=KMS4_Saas;Pooling=false"
},
"StringEncryption": {
"DefaultPassPhrase": "Zk0TJPzHzDaBB6Wa"
},
"Redis": {
//"Configuration": "localhost:6379"
"Configuration": "kms4.redis.cache.windows.net,abortConnect=false,ssl=true,allowAdmin=true,password=[password]"
},
"RabbitMQ": {
"Connections": {
"Default": {
//"HostName": "localhost"
"HostName": "20.92.102.114"
}
},
"EventBus": {
"ClientName": "AuthServer",
"ExchangeName": "KMS4"
}
},
"ElasticSearch": {
//"Url": "http://localhost:9200"
"Url": "https://kms4elasticsearch.azurewebsites.net"
}
}
Below is my appsettings.json for WebGateway
{
"App": {
"SelfUrl": "https://localhost:44325",
"CorsOrigins": "https://*.KMS4.com,http://localhost:4200,https://localhost:44307,http://20.227.27.217:4325"
},
"AuthServer": {
"Authority": "https://localhost:44322",
"RequireHttpsMetadata": "true",
"SwaggerClientId": "WebGateway_Swagger"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"Redis": {
//"Configuration": "localhost:6379"
"Configuration": "kms4.redis.cache.windows.net,abortConnect=false,ssl=true,allowAdmin=true,password=[password]"
},
"ElasticSearch": {
//"Url": "http://localhost:9200"
"Url": "https://kms4elasticsearch.azurewebsites.net"
}
}
Thank you!