using IUT_ISTAG.Data; using IUT_ISTAG.Models; using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; using IUT_ISTAG.Routes; var builder = WebApplication.CreateBuilder(args); var connectionString = builder.Configuration.GetConnectionString("DefaultConnection"); // DB CONTEXT builder.Services.AddDbContext(options => options.UseMySql( connectionString, ServerVersion.AutoDetect(connectionString) ) ); // IDENTITY (UNE SEULE FOIS) builder.Services.AddIdentity>(options => { options.Password.RequireDigit = true; options.Password.RequiredLength = 8; options.Password.RequireUppercase = true; options.Password.RequireNonAlphanumeric = true; options.Lockout.MaxFailedAccessAttempts = 5; options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(30); options.SignIn.RequireConfirmedEmail = false; }) .AddEntityFrameworkStores() .AddDefaultTokenProviders(); builder.Services.ConfigureApplicationCookie(options => { // si pas connecté options.LoginPath = "/login"; // si connecté mais sans le bon rôle options.AccessDeniedPath = "/login"; }); builder.Services.AddControllersWithViews(); var app = builder.Build(); if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Home/Error"); app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); WebRoutes.RegisterRoutes(app); app.Run();