I'm not sure what you mean by checking the user claims. In the admin console I went to Claims for the user in the host & the user in the tenant and there were none.
Again, I don't get the authorization error when I get a token for a user in the host tenant and of course it only returns users where TenantId is null.
Here's the host token decoded: { "header": { "alg": "RS256", "kid": "", "x5t": "", "typ": "at+jwt" }, "payload": { "iss": "http://localhost:44311/", "exp": 1745505879, "iat": 1745502279, "aud": [ "AuthServer", "IdentityService", "AdministrationService", "ServicesService", "SaasService", "AuditLoggingService", "GdprService", "LanguageService", "ClientService", "CommunicationsTemplateService", "ClientServicesQuery", "ContactService", "StaffService", "MemberConfigService", "FinancialService", "HousingService", "EngagementLogService", "DocumentService", "NoteService" ], "scope": "roles phone email profile address AdministrationService AuditLoggingService AuthServer ClientService GdprService IdentityService LanguageService SaasService ServicesService CommunicationsTemplateService MemberConfigService ClientServicesQuery FinancialService ContactService StaffService HousingService EngagementLogService DocumentService NoteService", "jti": "c679b9ed-83dd-4f49-867a-4606cd822dd4", "sub": "3503fbd8-b3bb-e0de-d82f-3a18407a620a", "preferred_username": "cpradmin", "email": "", "role": "admin", "given_name": "", "family_name": "", "phone_number_verified": "False", "email_verified": "False", "session_id": "", "unique_name": "cpradmin", "oi_prst": "CloverleafApi", "client_id": "CloverleafApi", "oi_tkn_id": "******" } }
Same error.
Here's the decoded token with the updated scopes
{ "header": { "alg": "RS256", "kid": "******", "x5t": "******", "typ": "at+jwt" }, "payload": { "iss": "http://localhost:44311/", "exp": 1745502008, "iat": 1745498408, "aud": [ "AuthServer", "IdentityService", "AdministrationService", "ServicesService", "SaasService", "AuditLoggingService", "GdprService", "LanguageService", "ClientService", "CommunicationsTemplateService", "ClientServicesQuery", "ContactService", "StaffService", "MemberConfigService", "FinancialService", "HousingService", "EngagementLogService", "DocumentService", "NoteService" ], "scope": "roles phone email profile address AdministrationService AuditLoggingService AuthServer ClientService GdprService IdentityService LanguageService SaasService ServicesService CommunicationsTemplateService MemberConfigService ClientServicesQuery FinancialService ContactService StaffService HousingService EngagementLogService DocumentService NoteService", "jti": "******", "sub": "******", "preferred_username": "testuser", "email": "******", "role": "admin", "tenantid": "6271b9cb-31a4-07e1-e895-3a18325419b0", "given_name": "******", "family_name":"******", "phone_number_verified": "False", "email_verified": "False", "session_id": "******", "unique_name": "******", "oi_prst": "CloverleafApi", "client_id": "CloverleafApi", "oi_tkn_id": "******" } }
We developed an API that gets the token from the authserver using Duende.IdentityModel 7.0.0 ` public async Task
var apiEndpoint = _configuration.GetValue<string>("AuthServiceBaseUrl");
var scope = string.Join(" ", scopes);
var discoveryCache = new DiscoveryCache(apiEndpoint);
var disco = await discoveryCache.GetAsync();
if (disco.IsError)
{
Console.WriteLine(disco.Error);
throw new UserFriendlyException($"Error retrieving discovery document: {disco.Error}");
}
var client = new HttpClient();
var passwordTokenRequest = new PasswordTokenRequest
{
Address = disco.TokenEndpoint,
ClientId = clientId,
ClientSecret = clientSecret,
UserName = userName,
Password = password,
Scope = scope
};
if (Tenant != null) passwordTokenRequest.Headers.Add("tenant", Tenant);
var tokenResponse = await client.RequestPasswordTokenAsync(passwordTokenRequest);
TokenResponseDto tokenRequestResponse = new();
if (tokenResponse.IsError)
{
Console.WriteLine("error", tokenResponse);
throw new UserFriendlyException($"Error retrieving token: {tokenResponse.ErrorDescription}");
}
else
{
tokenRequestResponse.AccessToken = tokenResponse.AccessToken;
tokenRequestResponse.RefreshToken = tokenResponse.RefreshToken;
tokenRequestResponse.ExpiresIn = tokenResponse.ExpiresIn;
}
return tokenRequestResponse;
}
`
Here's the curl request to get the token:
`
curl --location 'http://localhost:44326/api/token'
--header 'X-Forwarded-For: 192.0.2.172'
--header 'Content-Type: application/json'
--header 'Cookie: .AspNetCore.Culture=c%3Den%7Cuic%3Den'
--data-raw '{
"tenant": "homefree",
"clientId": "CloverleafApi",
"clientSecret": "Fgf@E98M6XZs3w",
"userName": "testadmin",
"password": "Lucky7E!",
"scopes": ["AdministrationService","AuditLoggingService","AuthServer","ClientService","GdprService","IdentityService", "LanguageService","SaasService","ServicesService", "CommunicationsTemplateService","MemberConfigService","ClientServicesQuery","FinancialService","ContactService","StaffService", "HousingService","EngagementLogService", "DocumentService", "NoteService"]
}'`
Here's the curl request to get the users (the authorization bearer is from the token response:
curl --location 'http://localhost:44326/api/identity/users' \ --header 'Authorization: Bearer **** \ --header 'Cookie: .AspNetCore.Culture=c%3Den%7Cuic%3Den'
Exception message and full stack trace:
4/21/2025 8:31:05 PM [Information] Request starting "HTTP/1.1" "GET" "http"://"localhost:44378""""/api/identity/users""" - null null
4/21/2025 8:31:05 PM [Debug] Get dynamic claims cache for tenant: 6271b9cb-31a4-07e1-e895-3a18325419b0
4/21/2025 8:31:05 PM [Debug] Get dynamic claims cache for user: b7a3c0e6-0b62-1904-314a-3a196bd42430
4/21/2025 8:31:05 PM [Debug] SessionId(4803aa26-2539-4cc7-a833-b5c08567966e) found in cache, Updating hit count(2), last access time(4/21/2025 3:31:05 PM) and IP address(::1).
4/21/2025 8:31:05 PM [Information] Executing endpoint '"Volo.Abp.Identity.IdentityUserController.GetListAsync (Volo.Abp.Identity.Pro.HttpApi)"'
4/21/2025 8:31:05 PM [Information] Route matched with "{area = "identity", controller = "User", action = "GetList"}". Executing controller action with signature "System.Threading.Tasks.Task1[Volo.Abp.Application.Dtos.PagedResultDto
1[Volo.Abp.Identity.IdentityUserDto]] GetListAsync(Volo.Abp.Identity.GetIdentityUsersInput)" on controller "Volo.Abp.Identity.IdentityUserController" ("Volo.Abp.Identity.Pro.HttpApi").
4/21/2025 8:31:05 PM [Debug] PermissionStore.GetCacheItemAsync: pn:U,pk:b7a3c0e6-0b62-1904-314a-3a196bd42430,n:AbpIdentity.Users
4/21/2025 8:31:05 PM [Debug] Found in the cache: pn:U,pk:b7a3c0e6-0b62-1904-314a-3a196bd42430,n:AbpIdentity.Users
4/21/2025 8:31:05 PM [Debug] PermissionStore.GetCacheItemAsync: pn:R,pk:identitytest,n:AbpIdentity.Users
4/21/2025 8:31:05 PM [Debug] Found in the cache: pn:R,pk:identitytest,n:AbpIdentity.Users
4/21/2025 8:31:05 PM [Debug] PermissionStore.GetCacheItemAsync: pn:C,pk:CloverleafApi,n:AbpIdentity.Users
4/21/2025 8:31:05 PM [Debug] Found in the cache: pn:C,pk:CloverleafApi,n:AbpIdentity.Users
4/21/2025 8:31:05 PM [Information] Authorization failed. "These requirements were not met:
PermissionRequirement: AbpIdentity.Users"
4/21/2025 8:31:05 PM [Warning] ---------- RemoteServiceErrorInfo ----------
{
"code": "Volo.Authorization:010001",
"message": "Authorization failed! Given policy has not granted.",
"details": null,
"data": null,
"validationErrors": null
}
4/21/2025 8:31:05 PM [Warning] Volo.Abp.Authorization.AbpAuthorizationException: Exception of type 'Volo.Abp.Authorization.AbpAuthorizationException' was thrown.
at Microsoft.AspNetCore.Authorization.AbpAuthorizationServiceExtensions.CheckAsync(IAuthorizationService authorizationService, AuthorizationPolicy policy)
at Volo.Abp.Authorization.MethodInvocationAuthorizationService.CheckAsync(MethodInvocationAuthorizationContext context)
at Volo.Abp.Authorization.AuthorizationInterceptor.AuthorizeAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Authorization.AuthorizationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func
3 proceed)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter
1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue
1.ProceedAsync()
at Volo.Abp.Auditing.AuditingInterceptor.ProceedByLoggingAsync(IAbpMethodInvocation invocation, AbpAuditingOptions options, IAuditingHelper auditingHelper, IAuditLogScope auditLogScope)
at Volo.Abp.Auditing.AuditingInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func
3 proceed)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter
1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at lambda_method5120(Closure, Object) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask
1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
4/21/2025 8:31:05 PM [Warning] Code:Volo.Authorization:010001
4/21/2025 8:31:05 PM [Information] AuthenticationScheme: "Bearer" was forbidden.
Steps to reproduce the issue:
Create a microservice solution using Abp Studio
Create a user with admin role assigned in SaaS tenant
Get a token for the user in a SaaS tenant This the decoded JwT { "header": { "alg": "RS256", "kid": "", "x5t": "", "typ": "at+jwt" }, "payload": { "iss": "http://localhost:44311/", "aud": [ "AuthServer", "IdentityService", "ServicesService", "SaasService", "AuditLoggingService", "GdprService", "LanguageService" ], "scope": "AdministrationService AuditLoggingService AuthServer ClientService GdprService IdentityService LanguageService SaasService", "jti": "", "sub": "", "preferred_username": "testuser", "email": "", "role": "admin", "tenantid": "6271b9cb-31a4-07e1-e895-3a18325419b0", "given_name": "", "family_name": "", "phone_number_verified": "False", "email_verified": "False", "session_id": "", "unique_name": "", "oi_prst": "", "client_id": "", "oi_tkn_id": "" } }
Use Postman to call any identity service api with the token. For example GET api/idenity/users
Call returns a 403 Forbidden error
Create a user with admin role assigned in host tenant
Get a token for a user in the host
This is the decoded JwT (note: no tenantid) { "header": { "alg": "RS256", "kid": "", "x5t": "", "typ": "at+jwt" }, "payload": { "iss": "http://localhost:44311/", "aud": [ "AuthServer", "IdentityService", "ServicesService", "SaasService", "AuditLoggingService", "GdprService", "LanguageService" ], "scope": "AdministrationService AuditLoggingService AuthServer ClientService GdprService IdentityService LanguageService SaasService", "jti": "", "sub": "", "preferred_username": "testadmin", "email": "", "role": "admin", "given_name": "", "family_name": "", "phone_number_verified": "False", "email_verified": "False", "session_id": "", "unique_name": "", "oi_prst": "", "client_id": "", "oi_tkn_id": "" } }
* Call the same identity api (GET api/idenity/users)
* Response returns the users in the host tenant
Here is the output from the Sql query on the Identity database SELECT * from [CloverleafCMSv2_Administration].[dbo].[AbpPermissionGrants] -- where (tenantId = 'dcb36c08-67ab-fa76-77dd-3a167cb44820' or tenantId = 'a3e9728b-d264-c114-b53c-3a13ab178ad2') where tenantId = '6271b9cb-31a4-07e1-e895-3a18325419b0' -- and ProviderName='R' and ProviderKey = 'admin' and Name like '%users%' order by tenantid, ProviderKey, Name
[ { "Id": "77a456bf-0e82-9808-104a-3a1832542987", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "0cfb4925-ce70-cabd-fa68-3a1832542989", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.Create", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "f35e6343-104d-f03e-9d37-3a183254298d", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.Delete", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "fdaf8b58-fcef-6eab-25c5-3a1832542993", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.Export", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "e183ace3-8b4c-2cec-3446-3a1832542991", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.Impersonation", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "38450b83-4e1e-1772-d0ce-3a1832542992", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.Import", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "39fe41c3-daf4-cf05-a2a8-3a183254298f", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.ManagePermissions", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "032aaafe-0dce-42c9-4a04-3a183254298a", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.Update", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "c1894400-a3b2-826e-0937-3a183254298c", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.Update.ManageOU", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "5e5f7716-49ee-a8e9-06eb-3a183254298b", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.Update.ManageRoles", "ProviderName": "R", "ProviderKey": "admin" }, { "Id": "4fcd8817-8f4f-0d7b-dea3-3a1832542995", "TenantId": "6271b9cb-31a4-07e1-e895-3a18325419b0", "Name": "AbpIdentity.Users.ViewDetails", "ProviderName": "R", "ProviderKey": "admin" } ]
Provide us with the following info:
Template: app-nolayers
Created ABP Studio Version: 0.9.25
Current ABP Studio Version: 0.9.25
Multi-Tenancy: Yes
UI Framework: mvc
Theme: leptonx
Theme Style: system
Run Install Libs: Yes
Database Provider: ef
Database Management System: sqlserver
Create Initial Migration: Yes
Run Db Migrator: Yes
Use Local References: No
Optional Modules:
Exception message and full stack trace:
From Abp Suite Modules tab: Module management is not supported for the current solution's template type
There was a company Nuget library in the default Nuget.config. I removed it and that fixed it.
Thank you
Just reopened Abp Studio and this it's what is in the log for today
2025-03-12 05:40:01.985 -05:00 [INF] Loaded ABP modules:
2025-03-12 05:40:01.987 -05:00 [INF] - Volo.Abp.Studio.UI.AbpStudioUIHostModule
... Rest of modules
2025-03-12 05:40:01.988 -05:00 [INF] Loaded ABP modules:
2025-03-12 05:40:01.988 -05:00 [INF] - Volo.Abp.Studio.Extensions.StandardTemplates.AbpStudioExtensionsStandardTemplatesCoreModule
2025-03-12 05:40:01.988 -05:00 [INF] - Volo.Abp.Studio.AbpStudioDomainModule
... Rest of modules
2025-03-12 05:40:01.988 -05:00 [INF] Loaded ABP modules:
2025-03-12 05:40:01.988 -05:00 [INF] - Volo.Abp.Studio.Extensions.StandardTemplates.UI.AbpStudioExtensionsStandardTemplatesUIModule
2025-03-12 05:40:01.988 -05:00 [INF] - Volo.Abp.Studio.Extensions.StandardTemplates.AbpStudioExtensionsStandardTemplatesCoreModule
... Rest of modules
2025-03-12 05:40:02.013 -05:00 [INF] Initialized Scheduler Signaller of type: Quartz.Core.SchedulerSignalerImpl
2025-03-12 05:40:02.014 -05:00 [INF] Quartz Scheduler created
2025-03-12 05:40:02.014 -05:00 [INF] JobFactory set to: Quartz.Simpl.MicrosoftDependencyInjectionJobFactory
2025-03-12 05:40:02.022 -05:00 [INF] RAMJobStore initialized.
2025-03-12 05:40:02.022 -05:00 [INF] Quartz Scheduler 3.13.0.0 - '05815d17-416a-45ac-9809-54449954e3ba' with instanceId 'NON_CLUSTERED' initialized
2025-03-12 05:40:02.022 -05:00 [INF] Using thread pool 'Quartz.Simpl.DefaultThreadPool', size: 10
2025-03-12 05:40:02.022 -05:00 [INF] Using job store 'Quartz.Simpl.RAMJobStore', supports persistence: False, clustered: False
2025-03-12 05:40:02.024 -05:00 [INF] Adding 0 jobs, 0 triggers.
2025-03-12 05:40:02.028 -05:00 [INF] Scheduler 05815d17-416a-45ac-9809-54449954e3ba_$_NON_CLUSTERED started.
2025-03-12 05:40:02.254 -05:00 [INF] Starting ABP Studio Backend...
2025-03-12 05:40:02.325 -05:00 [INF] Initialized all ABP modules.
2025-03-12 05:40:02.402 -05:00 [INF] Application started. Press Ctrl+C to shut down.
2025-03-12 05:40:02.402 -05:00 [INF] Hosting environment: Production
2025-03-12 05:40:02.402 -05:00 [INF] Content root path: /
2025-03-12 05:40:05.823 -05:00 [INF] Setting shell environment variables for /bin/zsh
2025-03-12 05:40:06.105 -05:00 [INF] Set shell environment variable: XPC_SERVICE_NAME=application.volo.abp.studio.ui.host.275297326.275297962
2025-03-12 05:40:06.105 -05:00 [INF] Set shell environment variable: USER=rogerhopkins
2025-03-12 05:40:06.105 -05:00 [INF] Set shell environment variable: COMMAND_MODE=unix2003
2025-03-12 05:40:06.106 -05:00 [INF] Set shell environment variable: __CFBundleIdentifier=volo.abp.studio.ui.host
2025-03-12 05:40:06.106 -05:00 [INF] Set shell environment variable: __CF_USER_TEXT_ENCODING=0x1F5:0x0:0x0
2025-03-12 05:40:06.106 -05:00 [INF] Set shell environment variable: TMPDIR=/var/folders/cn/j4xfhgq91m3ft78bmt00pg6c0000gn/T/
2025-03-12 05:40:06.106 -05:00 [INF] Set shell environment variable: LOGNAME=rogerhopkins
2025-03-12 05:40:06.106 -05:00 [INF] Original PATH: /opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin/lib/node_modules/@quasar/cli/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/usr/local/share/dotnet:/Users/rogerhopkins/.dotnet/tools:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Users/rogerhopkins/.dotnet/tools
2025-03-12 05:40:06.107 -05:00 [INF] Added the following paths: /Users/rogerhopkins/.dotnet, /usr/local/share/dotnet/x64, /Users/rogerhopkins/.abp/studio/cli/old, /opt/homebrew/opt/dotnet@8/bin, /opt/homebrew/opt/dotnet@9/bin, /usr/local/opt/node/bin, /usr/local/Cellar/node, /Users/rogerhopkins/.nvm/versions/node/v18.20.6/bin, /Users/rogerhopkins/.nvm/versions/node/v20.9.0/bin, /opt/homebrew/opt/node/bin, /opt/homebrew/opt/nvm/nvm.sh, /usr/local/opt/nvm/nvm.sh
2025-03-12 05:40:06.108 -05:00 [INF] Set shell environment variable: PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin/lib/node_modules/@quasar/cli/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/usr/local/share/dotnet:/Users/rogerhopkins/.dotnet/tools:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Users/rogerhopkins/.dotnet/tools:/Users/rogerhopkins/.dotnet:/usr/local/share/dotnet/x64:/Users/rogerhopkins/.abp/studio/cli/old:/opt/homebrew/opt/dotnet@8/bin:/opt/homebrew/opt/dotnet@9/bin:/usr/local/opt/node/bin:/usr/local/Cellar/node:/Users/rogerhopkins/.nvm/versions/node/v18.20.6/bin:/Users/rogerhopkins/.nvm/versions/node/v20.9.0/bin:/opt/homebrew/opt/node/bin:/opt/homebrew/opt/nvm/nvm.sh:/usr/local/opt/nvm/nvm.sh
2025-03-12 05:40:06.108 -05:00 [INF] Set shell environment variable: XPC_FLAGS=0x0
.. Rest of shell environment variables
HOMEBREW_BREW_GIT_REMOTE=/https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
2025-03-12 05:40:06.112 -05:00 [INF] Set .NET environment variable: HOMEBREW_CORE_GIT_REMOTE=/https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
2025-03-12 05:40:07.079 -05:00 [INF] Received HTTP response headers after 759.2526ms - 200
2025-03-12 05:40:07.083 -05:00 [INF] End processing HTTP request after 766.8781ms - 200
2025-03-12 05:40:07.316 -05:00 [INF] Trying to connect to ABP Studio Backend: http://localhost:38271
2025-03-12 05:40:07.965 -05:00 [INF] Start processing HTTP request GET https://abp.io/api/app/post?*
2025-03-12 05:40:07.965 -05:00 [INF] Sending HTTP request GET https://abp.io/api/app/post?*
2025-03-12 05:40:08.144 -05:00 [INF] Received HTTP response headers after 179.338ms - 200
2025-03-12 05:40:08.144 -05:00 [INF] End processing HTTP request after 179.678ms - 200
2025-03-12 05:40:10.088 -05:00 [INF] Starting task execution: Checking license end time
2025-03-12 05:40:10.092 -05:00 [INF] Completed task execution: Checking license end time
2025-03-12 05:40:10.593 -05:00 [INF] Received HTTP response headers after 571.5116ms - 200
2025-03-12 05:40:10.593 -05:00 [INF] End processing HTTP request after 571.7332ms - 200
2025-03-12 05:40:10.601 -05:00 [INF] Starting task execution: Checking pre-requirements
2025-03-12 05:40:12.539 -05:00 [INF] Trying to connect to ABP Studio Backend: http://localhost:38271
2025-03-12 05:40:16.881 -05:00 [INF] CLI command executed. Command: abp cli version
Working directory: /
{"ExitCode":0,"IsSuccess":true,"StartTime":"2025-03-12T05:40:13.6240470-05:00","ExitTime":"2025-03-12T05:40:16.8807040-05:00","RunTime":"00:00:03.2566570","$type":"CommandResult"}
2025-03-12 05:40:26.125 -05:00 [WRN] .NET tool Volo.Abp.Studio.Cli installation failed. Exit code: 1, Output: Unhandled exception: NuGet.Protocol.Core.Types.FatalProtocolException: Unable to load the service index for source https://packagelibrary.dmssolutionsweb.net/nuget.
---> System.Net.Http.HttpRequestException: No route to host (packagelibrary.dmssolutionsweb.net:443)
---> System.Net.Sockets.SocketException (65): No route to host
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|285_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.InjectNewHttp11ConnectionAsync(QueueItem queueItem)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation1.WaitWithCancellationAsync(CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) at System.Net.Http.AuthenticationHelper.SendWithAuthAsync(HttpRequestMessage request, Uri authUri, Boolean async, ICredentials credentials, Boolean preAuthenticate, Boolean isProxyAuth, Boolean doRequestAuth, HttpConnectionPool pool, CancellationToken cancellationToken) at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at NuGet.Protocol.ServerWarningLogHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at NuGet.Protocol.HttpSourceAuthenticationHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) at NuGet.Protocol.HttpRetryHandler.<>c__DisplayClass5_1.<<SendAsync>b__0>d.MoveNext() --- End of stack trace from previous location --- at NuGet.Protocol.TimeoutUtility.StartWithTimeout[T](Func
2 getTask, TimeSpan timeout, String timeoutMessage, CancellationToken token)
at NuGet.Protocol.HttpRetryHandler.SendAsync(HttpRetryHandlerRequest request, String source, ILogger log, CancellationToken cancellationToken)
at NuGet.Protocol.HttpSource.GetThrottledResponse(Func1 requestFactory, TimeSpan requestTimeout, TimeSpan downloadTimeout, Int32 maxTries, Boolean isRetry, Boolean isLastAttempt, Guid sessionId, ILogger log, CancellationToken cancellationToken) at NuGet.Protocol.HttpSource.ProcessResponseAsync[T](HttpSourceRequest request, Func
2 processAsync, SourceCacheContext cacheContext, ILogger log, CancellationToken token)
at ODataServiceDocumentUtils.CreateODataServiceDocumentResourceV2(String url, HttpSource client, DateTime utcNow, ILogger log, CancellationToken token)
--- End of inner exception stack trace ---
at ODataServiceDocumentUtils.CreateODataServiceDocumentResourceV2(String url, HttpSource client, DateTime utcNow, ILogger log, CancellationToken token)
at NuGet.Protocol.ODataServiceDocumentResourceV2Provider.TryCreate(SourceRepository source, CancellationToken token)
at NuGet.Protocol.Core.Types.SourceRepository.GetResourceAsync[T](CancellationToken token)
at NuGet.Protocol.PackageMetadataResourceV2FeedProvider.TryCreate(SourceRepository source, CancellationToken token)
at NuGet.Protocol.Core.Types.SourceRepository.GetResourceAsync[T](CancellationToken token)
at Microsoft.DotNet.Cli.NuGetPackageDownloader.NuGetPackageDownloader.GetPackageMetadataAsync(PackageSource source, String packageIdentifier, Boolean includePrerelease, Boolean includeUnlisted, CancellationToken cancellationToken)
at Microsoft.DotNet.Cli.NuGetPackageDownloader.NuGetPackageDownloader.GetMatchingVersionInternalAsync(String packageIdentifier, IEnumerable`1 packageSources, VersionRange versionRange, CancellationToken cancellationToken)
at Microsoft.DotNet.Cli.NuGetPackageDownloader.NuGetPackageDownloader.GetBestPackageVersionAsync(PackageId packageId, VersionRange versionRange, PackageSourceLocation packageSourceLocation)
at Microsoft.DotNet.Cli.ToolPackage.ToolPackageDownloader.GetNuGetVersion(PackageLocation packageLocation, PackageId packageId, VerbosityOptions verbosity, VersionRange versionRange, Boolean isGlobalTool)
at Microsoft.DotNet.Tools.Tool.Install.ToolInstallGlobalOrToolPathCommand.GetBestMatchNugetVersion(PackageId packageId, VersionRange versionRange, IToolPackageDownloader toolPackageDownloader)
at Microsoft.DotNet.Tools.Tool.Install.ToolInstallGlobalOrToolPathCommand.ExecuteInstallCommand(PackageId packageId)
at Microsoft.DotNet.Tools.Tool.Install.ToolInstallGlobalOrToolPathCommand.Execute()
at Microsoft.DotNet.Tools.Tool.Update.ToolUpdateGlobalOrToolPathCommand.Execute()
at System.CommandLine.Invocation.InvocationPipeline.Invoke(ParseResult parseResult)
at System.CommandLine.ParseResult.Invoke()
at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, TimeSpan startupTime, ITelemetry telemetryClient)
, StandardOutput:
2025-03-12 05:40:29.128 -05:00 [INF] Completed task execution: Checking pre-requirements
2025-03-12 05:40:29.129 -05:00 [INF] Starting task execution: Loading extensions
2025-03-12 05:40:29.146 -05:00 [INF] Completed task execution: Loading extensions
2025-03-12 05:40:29.146 -05:00 [INF] Starting task execution: Checking for the new version of ABP Studio
2025-03-12 05:40:29.433 -05:00 [INF] [VPK] Checking for updates...
URL: https://abp.io/api/abp-studio/r/download/osx
2025-03-12 05:40:29.450 -05:00 [INF] Downloading release file 'releases.beta.json' from 'https://abp.io/api/abp-studio/r/download/osx/releases.beta.json?arch=arm64&os=osx&rid=osx-arm64'.
2025-03-12 05:40:29.451 -05:00 [INF] [VPK] Creating HttpClient for AbpIoFileDownloader
2025-03-12 05:40:29.452 -05:00 [INF] Start processing HTTP request GET https://abp.io/api/abp-studio/r/download/osx/releases.beta.json?*
2025-03-12 05:40:29.452 -05:00 [INF] Sending HTTP request GET https://abp.io/api/abp-studio/r/download/osx/releases.beta.json?*
2025-03-12 05:40:30.245 -05:00 [INF] Received HTTP response headers after 792.4848ms - 200
2025-03-12 05:40:30.245 -05:00 [INF] End processing HTTP request after 793.0346ms - 200
2025-03-12 05:40:30.253 -05:00 [INF] Found newer remote release available (0.9.24 -> 0.9.25).
2025-03-12 05:40:30.253 -05:00 [INF] There is no local/base package available for this update, so delta updates will be disabled.
2025-03-12 05:40:30.270 -05:00 [INF] Downloading full release (abp-studio-0.9.25-beta-full.nupkg)
2025-03-12 05:40:30.271 -05:00 [INF] Downloading 'abp-studio-0.9.25-beta-full.nupkg' from 'https://abp.io/api/abp-studio/r/download/osx/abp-studio-0.9.25-beta-full.nupkg'.
2025-03-12 05:40:30.271 -05:00 [INF] [VPK] Creating HttpClient for AbpIoFileDownloader
2025-03-12 05:40:30.272 -05:00 [INF] Start processing HTTP request GET https://abp.io/api/abp-studio/r/download/osx/abp-studio-0.9.25-beta-full.nupkg
2025-03-12 05:40:30.272 -05:00 [INF] Sending HTTP request GET https://abp.io/api/abp-studio/r/download/osx/abp-studio-0.9.25-beta-full.nupkg
2025-03-12 05:40:30.274 -05:00 [INF] Completed task execution: Checking for the new version of ABP Studio
2025-03-12 05:40:30.610 -05:00 [INF] Received HTTP response headers after 337.6146ms - 200
2025-03-12 05:40:30.610 -05:00 [INF] End processing HTTP request after 338.1997ms - 200
2025-03-12 05:40:42.687 -05:00 [INF] [VPK] Downloading update: 4
2025-03-12 05:40:46.211 -05:00 [INF] [VPK] Downloading update: 6
2025-03-12 05:40:50.693 -05:00 [INF] [VPK] Downloading update: 10
2025-03-12 05:40:55.735 -05:00 [INF] [VPK] Downloading update: 12
2025-03-12 05:41:04.340 -05:00 [INF] [VPK] Downloading update: 16
2025-03-12 05:41:12.419 -05:00 [INF] [VPK] Downloading update: 18
2025-03-12 05:41:23.033 -05:00 [INF] [VPK] Downloading update: 22
Template: microservice
Created ABP Studio Version: 0.9.23
Current ABP Studio Version: 0.9.24
Multi-Tenancy: Yes
UI Framework: mvc
Theme: leptonx
Theme Style: system
Run Install Libs: Yes
Database Provider: ef
Database Management System: sqlserver
Mobile Framework: none
Public Website: No
Include Tests: Yes
Dynamic Localization: Yes
Kubernetes Configuration: Yes
Grafana Dashboard: Yes
Use Local References: No
Optional Modules:
Steps to reproduce the issue:
Used the upgrade utility within Abp Studio
Also deleted the Abp Studio app and redownloaded from the Abp website and ran the install package.
Ok. I updated the module. However it's probably fine to have the AbpDistributedEventBus use MongoDB in the same database.
However I had to add code to configure the SQL dbcontexts
Configure<AbpDbContextOptions>(options => { options.Configure<PermissionManagementDbContext>(dbContextOptions => { dbContextOptions.UseSqlServer(); }); ... remaining Sql db contexts
Here's the revised MemberConfigDbContext
using CloverleafCMS.MemberConfig.Members;
using MongoDB.Driver;
using Volo.Abp.Data;
using Volo.Abp.MongoDB;
using Volo.Abp.MongoDB.DistributedEvents;
namespace CloverleafCMS.MemberConfig.Data;
[ConnectionStringName(DatabaseName)]
public class MemberConfigDbContext :
AbpMongoDbContext,
IHasEventInbox,
IHasEventOutbox
{
public IMongoCollection<Member> Members => Collection<Member>();
public const string DatabaseName = "MemberConfig";
public IMongoCollection<IncomingEventRecord> IncomingEvents => Collection<IncomingEventRecord>();
public IMongoCollection<OutgoingEventRecord> OutgoingEvents => Collection<OutgoingEventRecord>();
protected override void CreateModel(IMongoModelBuilder modelBuilder)
{
base.CreateModel(modelBuilder);
modelBuilder.ConfigureEventInbox();
modelBuilder.ConfigureEventOutbox();
}
}
I was able to build and run the application. However when I execute the post route of the API I get this error: Error] ---------- RemoteServiceErrorInfo ---------- { "code": null, "message": "An internal error occurred during your request!", "details": null, "data": null, "validationErrors": null }
3/5/2025 9:15:38 PM [Error] Autofac.Core.DependencyResolutionException: An exception was thrown while activating Castle.Proxies.MembersAppServiceProxy -> CloverleafCMS.MemberConfig.Members.MongoMemberRepository.
---> Autofac.Core.DependencyResolutionException: None of the constructors found on type 'CloverleafCMS.MemberConfig.Members.MongoMemberRepository' can be invoked with the available services and parameters:
Cannot resolve parameter 'Volo.Abp.MongoDB.IMongoDbContextProvider1[CloverleafCMS.MemberConfig.Data.MemberConfigDbContext] dbContextProvider' of constructor 'Void .ctor(Volo.Abp.MongoDB.IMongoDbContextProvider
1[CloverleafCMS.MemberConfig.Data.MemberConfigDbContext])'.
See https://autofac.rtfd.io/help/no-constructors-bindable for more info.
[17:02:30 INF] Starting CloverleafCMS.ServicesService
[17:02:32 INF] Loaded ABP modules:
[17:02:32 INF] - CloverleafCMS.ServicesService.CloverleafCMSServicesServiceModule
[17:02:32 INF] - Volo.Abp.BlobStoring.Database.EntityFrameworkCore.BlobStoringDatabaseEntityFrameworkCoreModule
[17:02:32 INF] - Volo.Abp.BlobStoring.Database.BlobStoringDatabaseDomainModule
[17:02:32 INF] - Volo.Abp.Domain.AbpDddDomainModule
[17:02:32 INF] - Volo.Abp.Auditing.AbpAuditingModule
[17:02:32 INF] - Volo.Abp.Data.AbpDataModule
[17:02:32 INF] - Volo.Abp.ObjectExtending.AbpObjectExtendingModule
[17:02:32 INF] - Volo.Abp.Localization.AbpLocalizationAbstractionsModule
[17:02:32 INF] - Volo.Abp.Validation.AbpValidationAbstractionsModule
[17:02:32 INF] - Volo.Abp.Uow.AbpUnitOfWorkModule
[17:02:32 INF] - Volo.Abp.EventBus.Abstractions.AbpEventBusAbstractionsModule
[17:02:32 INF] - Volo.Abp.Json.AbpJsonModule
[17:02:32 INF] - Volo.Abp.Json.SystemTextJson.AbpJsonSystemTextJsonModule
[17:02:32 INF] - Volo.Abp.Json.AbpJsonAbstractionsModule
[17:02:32 INF] - Volo.Abp.Timing.AbpTimingModule
[17:02:32 INF] - Volo.Abp.Localization.AbpLocalizationModule
[17:02:32 INF] - Volo.Abp.VirtualFileSystem.AbpVirtualFileSystemModule
[17:02:32 INF] - Volo.Abp.Settings.AbpSettingsModule
[17:02:32 INF] - Volo.Abp.Security.AbpSecurityModule
[17:02:32 INF] - Volo.Abp.Threading.AbpThreadingModule
[17:02:32 INF] - Volo.Abp.MultiTenancy.AbpMultiTenancyModule
[17:02:32 INF] - Volo.Abp.MultiTenancy.AbpMultiTenancyAbstractionsModule
[17:02:32 INF] - Volo.Abp.Auditing.AbpAuditingContractsModule
[17:02:32 INF] - Volo.Abp.EventBus.AbpEventBusModule
[17:02:32 INF] - Volo.Abp.Guids.AbpGuidsModule
[17:02:32 INF] - Volo.Abp.BackgroundWorkers.AbpBackgroundWorkersModule
[17:02:32 INF] - Volo.Abp.DistributedLocking.AbpDistributedLockingAbstractionsModule
[17:02:32 INF] - Volo.Abp.ObjectMapping.AbpObjectMappingModule
[17:02:32 INF] - Volo.Abp.ExceptionHandling.AbpExceptionHandlingModule
[17:02:32 INF] - Volo.Abp.Specifications.AbpSpecificationsModule
[17:02:32 INF] - Volo.Abp.Caching.AbpCachingModule
[17:02:32 INF] - Volo.Abp.Serialization.AbpSerializationModule
[17:02:32 INF] - Volo.Abp.Domain.AbpDddDomainSharedModule
[17:02:32 INF] - Volo.Abp.BlobStoring.AbpBlobStoringModule
[17:02:32 INF] - Volo.Abp.BlobStoring.Database.BlobStoringDatabaseDomainSharedModule
[17:02:32 INF] - Volo.Abp.Validation.AbpValidationModule
[17:02:32 INF] - Volo.Abp.EntityFrameworkCore.AbpEntityFrameworkCoreModule
[17:02:32 INF] - Volo.Abp.SettingManagement.EntityFrameworkCore.AbpSettingManagementEntityFrameworkCoreModule
[17:02:32 INF] - Volo.Abp.SettingManagement.AbpSettingManagementDomainModule
[17:02:32 INF] - Volo.Abp.SettingManagement.AbpSettingManagementDomainSharedModule
[17:02:32 INF] - Volo.Abp.Features.AbpFeaturesModule
[17:02:32 INF] - Volo.Abp.Authorization.AbpAuthorizationAbstractionsModule
[17:02:32 INF] - Volo.Abp.LanguageManagement.EntityFrameworkCore.LanguageManagementEntityFrameworkCoreModule
[17:02:32 INF] - Volo.Abp.LanguageManagement.LanguageManagementDomainModule
[17:02:32 INF] - Volo.Abp.LanguageManagement.LanguageManagementDomainSharedModule
[17:02:32 INF] - Volo.Abp.AutoMapper.AbpAutoMapperModule
[17:02:32 INF] - Volo.Abp.PermissionManagement.EntityFrameworkCore.AbpPermissionManagementEntityFrameworkCoreModule
[17:02:32 INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementDomainModule
[17:02:32 INF] - Volo.Abp.Authorization.AbpAuthorizationModule
[17:02:32 INF] - Volo.Abp.PermissionManagement.AbpPermissionManagementDomainSharedModule
[17:02:32 INF] - Volo.Abp.FeatureManagement.EntityFrameworkCore.AbpFeatureManagementEntityFrameworkCoreModule
[17:02:32 INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementDomainModule
[17:02:32 INF] - Volo.Abp.FeatureManagement.AbpFeatureManagementDomainSharedModule
[17:02:32 INF] - Volo.Abp.AuditLogging.EntityFrameworkCore.AbpAuditLoggingEntityFrameworkCoreModule
[17:02:32 INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainModule
[17:02:32 INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainSharedModule
[17:02:32 INF] - Volo.Saas.EntityFrameworkCore.SaasEntityFrameworkCoreModule
[17:02:32 INF] - Volo.Saas.SaasDomainModule
[17:02:32 INF] - Volo.Saas.SaasDomainSharedModule
[17:02:32 INF] - Volo.Payment.AbpPaymentDomainSharedModule
[17:02:32 INF] - Volo.Abp.EntityFrameworkCore.SqlServer.AbpEntityFrameworkCoreSqlServerModule
[17:02:32 INF] - CloverleafCMS.ServicesService.CloverleafCMSServicesServiceContractsModule
[17:02:32 INF] - Volo.Abp.UI.AbpUiModule
[17:02:32 INF] - Volo.Abp.Commercial.SuiteTemplates.VoloAbpCommercialSuiteTemplatesModule
[17:02:32 INF] - Volo.Abp.Application.AbpDddApplicationContractsModule
[17:02:32 INF] - Volo.Abp.Autofac.AbpAutofacModule
[17:02:32 INF] - Volo.Abp.Castle.AbpCastleCoreModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Serilog.AbpAspNetCoreSerilogModule
[17:02:32 INF] - Volo.Abp.AspNetCore.AbpAspNetCoreModule
[17:02:32 INF] - Volo.Abp.Http.AbpHttpModule
[17:02:32 INF] - Volo.Abp.Http.AbpHttpAbstractionsModule
[17:02:32 INF] - Volo.Abp.Minify.AbpMinifyModule
[17:02:32 INF] - Volo.Abp.AspNetCore.AbpAspNetCoreAbstractionsModule
[17:02:32 INF] - Volo.Abp.Swashbuckle.AbpSwashbuckleModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcModule
[17:02:32 INF] - Volo.Abp.ApiVersioning.AbpApiVersioningAbstractionsModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcContractsModule
[17:02:32 INF] - Volo.Abp.UI.Navigation.AbpUiNavigationModule
[17:02:32 INF] - Volo.Abp.GlobalFeatures.AbpGlobalFeaturesModule
[17:02:32 INF] - Volo.Abp.Application.AbpDddApplicationModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy.AbpAspNetCoreMvcUiMultiTenancyModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.AbpAspNetCoreMvcUiThemeSharedModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.AbpAspNetCoreMvcUiBootstrapModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.UI.AbpAspNetCoreMvcUiModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.UI.Packages.AbpAspNetCoreMvcUiPackagesModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.UI.Bundling.AbpAspNetCoreMvcUiBundlingAbstractionsModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.UI.Widgets.AbpAspNetCoreMvcUiWidgetsModule
[17:02:32 INF] - Volo.Abp.AspNetCore.Mvc.UI.Bundling.AbpAspNetCoreMvcUiBundlingModule
[17:02:32 INF] - Volo.Abp.AspNetCore.MultiTenancy.AbpAspNetCoreMultiTenancyModule
[17:02:32 INF] - Volo.Abp.EventBus.RabbitMq.AbpEventBusRabbitMqModule
[17:02:32 INF] - Volo.Abp.RabbitMQ.AbpRabbitMqModule
[17:02:32 INF] - Volo.Abp.BackgroundJobs.RabbitMQ.AbpBackgroundJobsRabbitMqModule
[17:02:32 INF] - Volo.Abp.BackgroundJobs.AbpBackgroundJobsAbstractionsModule
[17:02:32 INF] - Volo.Abp.Caching.StackExchangeRedis.AbpCachingStackExchangeRedisModule
[17:02:32 INF] - Volo.Abp.DistributedLocking.AbpDistributedLockingModule
[17:02:32 INF] - Volo.Abp.Studio.Client.AspNetCore.AbpStudioClientAspNetCoreModule
[17:02:32 INF] - Volo.Abp.Studio.AbpStudioClientModule
[17:02:32 INF] - Volo.Abp.Studio.AbpStudioClientContractsModule
[17:02:32 INF] - Volo.Abp.Http.Client.AbpHttpClientModule
[17:02:32 INF] - Volo.Abp.RemoteServices.AbpRemoteServicesModule
[17:02:32 INF] Trying to acquire the distributed lock for database migration: ServicesService.
[17:02:32 INF] Distributed lock is acquired for database migration: ServicesService...
[17:02:33 INF] Seeding data...
[17:02:33 INF] Distributed lock has been released for database migration: ServicesService...
[17:02:34 DBG] Waiting to acquire the distributed lock for saving external localizations...
[17:02:34 INF] Saving external localizations...
[17:02:34 INF] Initialized all ABP modules.
[17:02:35 WRN] Overriding address(es) 'http://localhost:44344'. Binding to endpoints defined via IConfiguration and/or UseKestrel() instead.
[17:02:35 INF] Unable to bind to http://localhost:81 on the IPv4 loopback interface: 'Permission denied'.
[17:02:35 INF] Unable to bind to http://localhost:81 on the IPv6 loopback interface: 'Permission denied'.
[17:02:35 ERR] Hosting failed to start
System.IO.IOException: Failed to bind to address http://localhost:81.
---> System.AggregateException: One or more errors occurred. (Permission denied) (Permission denied)
---> System.Net.Sockets.SocketException (13): Permission denied
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportOptions.CreateDefaultBoundListenSocket(EndPoint endpoint)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass28_01.<<StartAsync>g__OnBind|0>d.MoveNext() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.LocalhostListenOptions.BindAsync(AddressBindContext context, CancellationToken cancellationToken) --- End of inner exception stack trace --- ---> (Inner Exception [#1](https://abp.io/QA/Questions/1)) System.Net.Sockets.SocketException (13): Permission denied at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.Bind(EndPoint localEP) at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportOptions.CreateDefaultBoundListenSocket(EndPoint endpoint) at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind() at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass28_0
1.<
--- End of inner exception stack trace ---
From appsettings.development.json { "App": { "EnablePII": true }, "Kestrel": { "Endpoints": { "Http": { "Url": "http://localhost:5000", "Protocols": "Http1AndHttp2" }, "Https": { "Url": "https://localhost:44344", "Protocols": "Http1AndHttp2" }, "gRPC": { "Url": "http://localhost:81", "Protocols": "Http2" } } }
}
Let me know if you need additional info to help debug this issue.