49 lines
1.7 KiB
C#
49 lines
1.7 KiB
C#
using HRD.AppLogger;
|
|
using HRD.LDAPService.JWT;
|
|
using HRD.WebApi.DAL.Middleware;
|
|
using HRD.WebApi.Helpers;
|
|
using Microsoft.AspNetCore.Builder;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.AspNetCore.Server.IISIntegration;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
namespace StaffDBServer.SharedExtensions
|
|
{
|
|
public static class ServiceExtensions
|
|
{
|
|
public static void ConfigureWebApiExtensionsAtFirst(this IServiceCollection services)
|
|
{
|
|
//services.AddCors();
|
|
services.AddCustomCors("AllowAllOrigins");
|
|
|
|
services.Configure<IISOptions>(options =>
|
|
{
|
|
options.AuthenticationDisplayName = "Windows";
|
|
options.ForwardClientCertificate = true;
|
|
options.AutomaticAuthentication = true;
|
|
});
|
|
services.AddAuthentication(IISDefaults.AuthenticationScheme);
|
|
|
|
services.ConfigureJWT(Extends.JwtMiddlewareOptionsHelper.GetJwtMiddlewareOptions()); ;
|
|
|
|
services.ConfigureDAL(WebApiMiddlewareOptionsHelper.GetWebApiMiddlewareOptions());
|
|
|
|
services.AddSingleton<ILoggerManager, LoggerManager>();
|
|
|
|
services.ConfigureSwagger();
|
|
}
|
|
|
|
public static void ConfigureWebApiExtensionsEnd(this IServiceCollection services)
|
|
{
|
|
services.AddMvc()
|
|
.ConfigureApiBehaviorOptions(options =>
|
|
{
|
|
options.InvalidModelStateResponseFactory = context =>
|
|
{
|
|
var errors = new HRD.WebApi.Helpers.HttpErrorDetails(context);
|
|
return new BadRequestObjectResult(errors);
|
|
};
|
|
});
|
|
}
|
|
}
|
|
} |