using Microsoft.AspNetCore.Authentication.Cookies; using Microsoft.AspNetCore.Mvc; using TechnoWorld.Services; var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllersWithViews(); builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddCookie(options => { options.LoginPath = "/Account/Login"; options.LogoutPath = "/Account/Logout"; options.AccessDeniedPath = "/Account/Login"; options.ExpireTimeSpan = TimeSpan.FromDays(7); }); builder.Services.AddSession(options => { options.IdleTimeout = TimeSpan.FromDays(1); options.Cookie.HttpOnly = true; options.Cookie.IsEssential = true; }); builder.Services.AddHttpContextAccessor(); builder.Services.AddScoped(); var app = builder.Build(); if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Home/Error"); app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); app.UseSession(); app.UseStatusCodePagesWithReExecute("/Home/Error", "?statusCode={0}"); app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); app.Run();