I think you can do it by changing the target.
In the *.MenuContributor.cs
class inside the Navigation
folder, you can change the target
in the ConfigureUserMenuAsync
method as follows:
private async Task ConfigureUserMenuAsync(MenuConfigurationContext context)
{
var accountStringLocalizer = context.GetLocalizer<AccountResource>();
var identityServerUrl = _configuration["AuthServer:Authority"] ?? "";
context.Menu.AddItem(new ApplicationMenuItem(
"Account.Manage",
accountStringLocalizer["MyAccount"],
$"{identityServerUrl.EnsureEndsWith('/')}Account/Manage?returnUrl={_configuration["App:SelfUrl"]}",
icon: "fa fa-cog",
order: 1000,
customData: null,
target: "_self"
).RequireAuthenticated());
context.Menu.AddItem(new ApplicationMenuItem(
"Account.SecurityLogs",
accountStringLocalizer["MySecurityLogs"],
$"{identityServerUrl.EnsureEndsWith('/')}Account/SecurityLogs?returnUrl={_configuration["App:SelfUrl"]}",
icon: "fa fa-cog",
order: 1001,
null).RequireAuthenticated());
await Task.CompletedTask;
}
}
You can override the js
file.
In addition to adding new CSS/JavaScript file to a page, you also can replace the existing one (by defining a bundle contributor).
See more details: https://docs.abp.io/en/abp/latest/UI/AspNetCore/Customization-User-Interface#example-add-a-javascript-file-for-a-specific-page
I think you can do it by replacing the service.
https://docs.abp.io/en/abp/latest/Dependency-Injection#replace-a-service
Can you try the code below?
context.Services.Replace(ServiceDescriptor.Singleton<IDistributedEventBus, LocalDistributedEventBus>());
Hello,
By default, permission can be used on both the tenant and the host side. See: https://docs.abp.io/en/abp/latest/Authorization#multi-tenancy
Also, as you know, AbpHangfireAuthorizationFilter
class has the enableTenant
and requiredPermissionName
fields.
I think assigning the relevant permission to the user in the tenant will solve the problem. See: https://docs.abp.io/en/abp/latest/Background-Jobs-Hangfire#abphangfireauthorizationfilter
Any chance to try this case?
Can't do this from the user interface?
Any chance of posting a minimally reproducible example where we can reproduce the problem?
Thanks for the reporting, we will fix the problem as soon as possible.
I'm closing this question as the follow-up of the issue will be done together with the internal issue.
Thanks for the report 🙏
I'm closing this question because we will follow up with the internal issue.
Thanks for the explanation and report.
I agree, I think this is a problem.
As a result, I am creating an internal issue related to the subject.
Closing the issue. Feel free to create a new issue if you have further questions.