// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IDbService idb) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { 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.UseMiddleware <LoggingMiddleware>(); app.Use(async(context, next) => { if (!context.Request.Headers.ContainsKey("Index")) { context.Response.StatusCode = StatusCodes.Status401Unauthorized; await context.Response.WriteAsync("Nie podano indeksu w nagłówku"); return; } var index = context.Request.Headers["Index"].ToString(); IStudentsDbService dbService = new SqlServerDbService(); if (!dbService.CheckIndex(index)) { context.Response.StatusCode = StatusCodes.Status401Unauthorized; await context.Response.WriteAsync("Nie ma takiego studenta w bazie"); return; } await next(); }); app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); }); }
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IStudentsDbService service) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } ; app.UseSwagger(); app.UseSwaggerUI(config => { config.SwaggerEndpoint("/swagger/v1/swagger.json", "Students App API"); }); //........... middleware uwierzytelnienie app.UseMiddleware <LoggingMiddleware>(); app.Use(async(context, next) => { if (!context.Request.Headers.ContainsKey("Index")) { context.Response.StatusCode = StatusCodes.Status401Unauthorized; await context.Response.WriteAsync("Nie podano indeksu w nagłówku"); return; } var index = context.Request.Headers["Index"].ToString(); IStudentsDbService dbService = new SqlServerDbService(); if (!dbService.CheckIndex(index)) { await context.Response.WriteAsync("Nie ma takiego studenta w bazie"); return; } await next(); }); app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthentication(); //-- app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); }