Can you try adding currentSchema parameter to your connection string?
https://jdbc.postgresql.org/documentation/use/#connection-parameters
I tried the same behaviour but unfortunately could not reproduce the problem. Are you sure the public schema has the tables?
Are they running on the same instance of application? Or you're using in a micro-service project?
how do we make it so that the default abp login does not appear?
You can't remove Microsoft.AspNetCore.Components.WebAssembly.Authentication package from your application because ABP modules are depending on it:
But you can remove configuration from Module class, you can find a method named ConfigureAuthentication. You can remove configuration from there and configure & register your own Oidc Client into service collection. Then you'll use your OidcClient in your own razor component/page
Hi,
Sorry for late-response, it seems you already found the problem.
Now, i need to send accessToken to the grpc endpoint because it's authorized.
ABP Framework does not implements it currently. gRPC requests are planned to be used for communication between micro-service that is not open to world and in an internal network.
But still it's an ASP.NET Core application, you can follow Microsoft's guide: https://learn.microsoft.com/en-us/aspnet/core/grpc/authn-and-authz?view=aspnetcore-9.0#authorize-users-to-access-services-and-service-methods
In the ABP Framework, Each PermissionName is a policy in the authorization logic of ASP.NET Core application, you can directly use your permissions in the [Authorize] attribute.
Hi,
We'll try to reproduce the problem soon and aur Angular team will help you soon. We may ask you for more information. Thanks for your patience
I expect this feature will be available stable in Blazor in future https://github.com/dotnet/runtime/issues/91219
But for now, it doesn't work in the current state of neither Blazor WASM nor Blazor Web App.
We discussed this with ABP team and multiple database for each tenant cannot be possible with using Inbox/Outbox pattern in microservice solution template for now. Even you can successfully make it work, publishing & consuming Inbox/Outbox events won't work as expected for separated databases.
We'll work on this in the future versions but it seems it cannot work properly in the current version
So do you need dynamically decide the layout?
Can you check this topic if it helps? https://abp.io/qa/questions/8843/3a183a84-0c37-9ad3-1037-3a9a4a9bbbf7
Hi there,
I can share the following implementation suggestion to you.
Let's say we have LayoutA.razor, LayoutB.razor and a MyCustomLayout.razor file that manages the current layout
LayoutA.razor
@inherits LayoutComponentBase
<div class="layout-container">
<div class="layout-sidebar">
<div class="layout-sidebar-header">
<h1>Layout A</h1>
</div>
</div>
<div class="layout-content">
@Body
</div>
</div>
LayoutB.razor
@inherits LayoutComponentBase
<div class="layout-container">
<div class="layout-sidebar">
<div class="layout-sidebar-header">
<h1>Layout B</h1>
</div>
</div>
<div class="layout-content">
@Body
</div>
</div>
MyCustomLayout.razor
@using Volo.Abp.AspNetCore.Components.Web.LeptonXTheme.Components.ApplicationLayout
@inherits LayoutComponentBase
@implements IDisposable
@inject NavigationManager NavigationManager
<LayoutView Layout="@CurrentLayout">
@Body
</LayoutView>
@code {
public Type CurrentLayout { get; set; } = typeof(SideMenuLayout);
protected override Task OnInitializedAsync()
{
NavigationManager.LocationChanged += OnLocationChanged;
SetLayout(NavigationManager.Uri);
return base.OnInitializedAsync();
}
public void Dispose()
{
NavigationManager.LocationChanged -= OnLocationChanged;
}
private void OnLocationChanged(object sender, LocationChangedEventArgs e)
{
SetLayout(e.Location);
}
private void SetLayout(string location)
{
if (location.Contains("page-a"))
{
CurrentLayout = typeof(LayoutA);
}
else if (location.Contains("page-b"))
{
CurrentLayout = typeof(LayoutB);
}
else
{
CurrentLayout = typeof(SideMenuLayout);
}
StateHasChanged();
}
}
And create two components with path /page-a and /page-b
PageA.razor
@page "/page-a"
<h3>PageA</h3>
<p>
This is PageA.
</p>
PageB.razor
@page "/page-b"
<h3>PageA</h3>
<p>
This is PageA.
</p>
Then configure it to make it work with LeptonX theme as a default layout:
Configure<LeptonXThemeBlazorOptions>(options =>
{
options.Layout = typeof(MyCustomLayout);
});