I am working with the ABP Framework, and I came across a pattern in the code where a controller class is implementing an application service interface, as shown below:
Could you kindly clarify the reasoning behind this pattern? Specifically, why would a controller implement an application service interface, as it seems to merge the concerns of both the controller and the service layer into one class?
I understand that typically the application service encapsulates the business logic, while the controller handles the HTTP requests. Is this an intended pattern in certain scenarios within ABP, and what would be the advantages or trade-offs of using it compared to the more common separation of concerns?
I would like to implement a feature to disable concurrent user logins in our application to enhance security.
Requirements:
Most of the articles I found here is for Identity Server 4, I have migrated to OpenIdDict, is there a built-in feature for this?
Please provide guidance on how to configure or extend the ABP framework to achieve this behavior.
Thank you.
We are migrating our auth server from IdentityServer to OpenIdDict. While we have reviewed the migration guide, we have not found any documentation on how to migrate the data from IdentityServer tables to OpenIdDict tables. Could you provide guidance on this process?
Hello, I understand that Identity Server has commercialized their product under the name Duende Identity Server, it made the ABP team to transition to OpenIDDict.
If our company purchase a license for Duende Identity Server, would it still be supported by the ABP team?
Hi, Will ABP continue to support Identity Server 4 with ABP 8?
Hi, I'm trying to generate the C# API client proxy code with included DTOs. I've tried it both with and without the '--without-contracts' parameter, but the DTO classes are still not being generated
Could you please help us check?
Hi, we are using Identity Server 4 and have a custom claim called 'institution_id,' which we have included in the access token by adding it to the ApiResourcesClaims.
However, this claim does not appear in the id_token, and we need it to be included. Any customization needed to achieve this?
Your help would be greatly appreciated.
Hi, I tried to add the hangfire background job to our identity server, but I encountered an issue that no active servers in the hangfire, below is the screenshot:
and here is the background job module:
[DependsOn(
typeof(AbpBackgroundJobsAbstractionsModule),
typeof(AbpBackgroundJobsHangfireModule)
)]
public class IdentityServerBackgroundJobsModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
var connectionString = configuration.GetConnectionString("Default");
context.Services.AddHangfire(config =>
{
config.UseSqlServerStorage(connectionString, new Hangfire.SqlServer.SqlServerStorageOptions()
{
SchemaName = "Hangfire"
});
});
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
var app = context.GetApplicationBuilder();
var configuration = context.GetConfiguration();
app.UseHangfireDashboard();
ConfireHangfireJobs(configuration);
}
private void ConfireHangfireJobs(IConfiguration configuration)
{
// remove all the jobs if exist
using (var connection = JobStorage.Current.GetConnection())
{
foreach (var recurringJob in StorageConnectionExtensions.GetRecurringJobs(connection))
{
RecurringJob.RemoveIfExists(recurringJob.Id);
}
}
// add new job
if (Convert.ToBoolean(configuration["RecurringJobs:HousekeepingJob:IsActive"]))
{
RecurringJob.AddOrUpdate<HousekeepingJob>(s => s.ExecuteAsync(), configuration["RecurringJobs:HousekeepingJob:CronSchedule"]);
}
}
}
Any help would be greatly appreciated.
Hi, We want to try the File Management module in ABP commercial demo site but the "Upload Files" does not response when I clicked it.
https://commercial-demo.abp.io/file-management
Anyone can help us check?
Hi, we received a pen test finding indicating that we need to enable the 'Secure' flag for the '.AspNetCore.Culture' cookie:
I have tried to enable by adding this code but it does not work:
Configure<CookiePolicyOptions>(options =>
{
options.Secure = CookieSecurePolicy.Always;
});
Configure<AntiforgeryOptions>(options =>
{
options.Cookie.SecurePolicy = CookieSecurePolicy.Always;
});
could you please assist us on this request?