hi
You don't need to use timezone in your database. The abp framework automatically handles time in the database and application.
It will convert the datetime to UTC when storing it in the database. After reading, it will convert it to UTC. The application/UI will convert it to the user's timezone.
Thanks.
hi
Start all microservices, and the database will migrate automatically.
Can you share the logs.txt file in AdministrationService?
public override async Task OnPreApplicationInitializationAsync(ApplicationInitializationContext context)
{
using var scope = context.ServiceProvider.CreateScope();
await MigrateDatabase(scope.ServiceProvider);
}
private static async Task MigrateDatabase(IServiceProvider serviceProvider)
{
await serviceProvider
.GetRequiredService<AdministrationServiceRuntimeDatabaseMigrator>()
.CheckAndApplyDatabaseMigrationsAsync();
await serviceProvider
.GetRequiredService<BlobStoringRuntimeDatabaseMigrator>()
.CheckAndApplyDatabaseMigrationsAsync();
}
Thanks.
The log you share contains connection string errors, the token's audit is invalid, etc.
Is your connection string correct?
Can you share the HTTP request info from Swagger?
Thanks.
hi
You can add the redirect code in the Index page. This is easiest
public ActionResult Index()
{
if (CurrentUser.IsAuthenticated && CurrentUser.Roles.Contains("ContentManager"))
{
return Redirect("~/ManagerRequests");
}
return Page();
}
You can also do it in the OnSignedIn method.
context.Services.ConfigureApplicationCookie(options =>
{
var previousOnSignedIn = options.Events.OnSignedIn;
options.Events.OnSignedIn = async cookieSignedInContext =>
{
await previousOnSignedIn(cookieSignedInContext);
var currentUser = cookieSignedInContext.HttpContext.RequestServices.GetRequiredService<ICurrentUser>();
if (currentUser.IsAuthenticated && currentUser.Roles.Contains("ContentManager"))
{
cookieSignedInContext.HttpContext.Response.Redirect("api/account/authenticator-info");
}
};
});
}
hi
This is the difference in cookie policies between Safari and Chrome browsers.
You can check this article https://abp.io/community/articles/patch-for-chrome-login-issue-identityserver4-samesite-cookie-problem-weypwp3n
hi
Can you try to change the Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX package version from 9.0.4 to 4.0.4?
Thanks.
hi
Please check and share the logs.txt of your app.
liming.ma@volosoft.com
Thanks
I apologize for this. I'll explain patiently next time. Thanks.
hi
You have a SWMultiTenantConnectionStringResolver service to output the Current Tenant info to logs,
if (string.IsNullOrEmpty(_currentTenant.Id.ToString()))
{
_logger.LogCritical($"******* Current Tenant IS NOT resolved *******");
}
else
{
_logger.LogCritical($"******* Current Tenant IS resolved *******");
}
if your entity(eg, UserPermissionView) is not implemented with the IMultiTenant interface, the currentTenant will be null even if there is a tenant claim
This reply is to clarify your output info. To avoid any misunderstanding on your part, that is, the current user has a tenant id claim, but the current tenant is null.
Middleware problems are found by debugging your apps.
https://github.com/spospisil/ABP9Integration/commit/9e61bf3a5c2d9444d2c8a37b5250d998d7b3371e