Spaces:
Sleeping
Sleeping
feat: implement authentication and authorization features, add book and user management controllers, and enhance UI for login and registration
b0a0ed0 | using Microsoft.AspNetCore.Authentication.Cookies; | |
| var builder = WebApplication.CreateBuilder(args); | |
| // Add services to the container. | |
| builder.Services.AddControllersWithViews(); | |
| builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) | |
| .AddCookie(options => | |
| { | |
| options.LoginPath = "/Auth/Login"; | |
| options.AccessDeniedPath = "/Auth/AccessDenied"; | |
| options.ExpireTimeSpan = TimeSpan.FromDays(7); | |
| options.SlidingExpiration = true; | |
| }); | |
| builder.Services.AddHttpClient("LibraryBackend", client => | |
| { | |
| client.BaseAddress = new Uri(builder.Configuration["BackendApiBaseUrl"] ?? "https://localhost:7028"); | |
| }); | |
| builder.Services.AddHttpContextAccessor(); | |
| builder.Services.AddScoped<Frontend.Services.LibraryApiClient>(); | |
| var app = builder.Build(); | |
| // Configure the HTTP request pipeline. | |
| if (!app.Environment.IsDevelopment()) | |
| { | |
| app.UseExceptionHandler("/Home/Error"); | |
| // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. | |
| app.UseHsts(); | |
| } | |
| app.UseHttpsRedirection(); | |
| app.UseStaticFiles(); | |
| app.UseRouting(); | |
| app.UseAuthentication(); | |
| app.UseAuthorization(); | |
| app.MapControllerRoute( | |
| name: "default", | |
| pattern: "{controller=Home}/{action=Index}/{id?}"); | |
| app.Run(); | |