Program.cs


var builder = WebApplication.CreateBuilder(args);


var connectionstring = builder.Configuration.GetConnectionString("DefaultSQLConnection");

builder.Services.AddDbContext<ApplicationDbContext>(options =>

    options.UseSqlServer(connectionstring));


builder.Services.AddIdentity<ApplicationUser, IdentityRole>(options=>

{

    options.Password.RequireDigit = true; 

    options.Password.RequiredLength = 8; 

    options.Password.RequireNonAlphanumeric = false; 

    options.Password.RequireUppercase = true;

    options.Password.RequireLowercase = true;


    options.User.RequireUniqueEmail = true;

    

})

   .AddEntityFrameworkStores<ApplicationDbContext>();


// Add services to the container.

builder.Services.AddControllersWithViews();


builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(options => {

    // Path to the login page

    options.LoginPath = "/Account/Login";

    // Path to the access denied page

    options.AccessDeniedPath = "/Account/AccessDenied";  

});


    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.UseRouting();


app.UseAuthentication();

app.UseAuthorization();


app.MapStaticAssets();

app.MapControllerRoute(

    name: "default",

    pattern: "{controller=Home}/{action=Index}/{id?}")

    .WithStaticAssets();


app.Run();