Add project files.
This commit is contained in:
55
ConfigurationPannel/Program.cs
Normal file
55
ConfigurationPannel/Program.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
using ConfigurationPannel.Services;
|
||||
using Microsoft.AspNetCore.Authentication.Cookies;
|
||||
using ConfigurationManager = ConfigurationPannel.Services.ConfigurationManager;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
// Add services to the container.
|
||||
builder.Services.AddRazorPages();
|
||||
|
||||
// Authentication
|
||||
builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
|
||||
.AddCookie(options =>
|
||||
{
|
||||
options.LoginPath = "/Login";
|
||||
options.LogoutPath = "/Logout";
|
||||
options.ExpireTimeSpan = TimeSpan.FromHours(8);
|
||||
options.SlidingExpiration = true;
|
||||
});
|
||||
builder.Services.AddAuthorization();
|
||||
|
||||
// Application services
|
||||
builder.Services.AddSingleton<UserService>();
|
||||
builder.Services.AddSingleton<ConfigurationManager>();
|
||||
builder.Services.AddSingleton<LogoService>();
|
||||
|
||||
// PrintServer as hosted service
|
||||
builder.Services.AddHostedService<PrintServerHostedService>();
|
||||
|
||||
// Make PrintServerHostedService available for injection (for restart capability)
|
||||
builder.Services.AddSingleton(sp =>
|
||||
sp.GetServices<IHostedService>()
|
||||
.OfType<PrintServerHostedService>()
|
||||
.FirstOrDefault()!);
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
// set port
|
||||
app.Urls.Add($"http://*:80");
|
||||
|
||||
// Configure the HTTP request pipeline.
|
||||
if (!app.Environment.IsDevelopment())
|
||||
{
|
||||
app.UseExceptionHandler("/Error");
|
||||
}
|
||||
|
||||
app.UseStaticFiles();
|
||||
app.UseRouting();
|
||||
|
||||
// Authentication & Authorization
|
||||
app.UseAuthentication();
|
||||
app.UseAuthorization();
|
||||
|
||||
app.MapRazorPages();
|
||||
|
||||
app.Run();
|
||||
Reference in New Issue
Block a user