From 9fe38b53cb1e0d4b20671f79b46c4b95805c63af Mon Sep 17 00:00:00 2001 From: Tobi Date: Thu, 20 Jun 2019 21:11:55 +0200 Subject: [PATCH 1/3] :construction: Unauthorized implementiert; Bugfixes --- .../Areas/Identity/IdentityHostingStartup.cs | 10 +++--- .../EVABackend/Controllers/EVAController.cs | 37 +++++++++++++++++---- Backend/EVABackend/EVABackend/Startup.cs | 6 ++-- Backend/EVABackend/EVABackend/eva_users.db | Bin 102400 -> 102400 bytes 4 files changed, 37 insertions(+), 16 deletions(-) diff --git a/Backend/EVABackend/EVABackend/Areas/Identity/IdentityHostingStartup.cs b/Backend/EVABackend/EVABackend/Areas/Identity/IdentityHostingStartup.cs index 4610acd..1b74950 100644 --- a/Backend/EVABackend/EVABackend/Areas/Identity/IdentityHostingStartup.cs +++ b/Backend/EVABackend/EVABackend/Areas/Identity/IdentityHostingStartup.cs @@ -1,12 +1,10 @@ using EVABackend.Areas.Identity.Data; using EVABackend.Models; -using Microsoft.AspNetCore.Authentication.Cookies; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; -using System; [assembly: HostingStartup(typeof(EVABackend.Areas.Identity.IdentityHostingStartup))] namespace EVABackend.Areas.Identity @@ -18,10 +16,9 @@ namespace EVABackend.Areas.Identity builder.ConfigureServices((context, services) => { services.AddDbContext(options => - options.UseSqlite( - context.Configuration.GetConnectionString("EVABackendIdentityContextConnection"))); + options.UseSqlite(context.Configuration.GetConnectionString("EVABackendIdentityContextConnection"))); - services.AddDefaultIdentity() + services.AddIdentity() .AddRoles() .AddEntityFrameworkStores() .AddDefaultTokenProviders(); @@ -29,6 +26,9 @@ namespace EVABackend.Areas.Identity services.ConfigureApplicationCookie(options => { options.Cookie.Name = "EVABackend_Token"; + options.LoginPath = $"/unauthorized"; + options.LogoutPath = $"/unauthorized"; + options.AccessDeniedPath = $"/unauthorized"; }); }); } diff --git a/Backend/EVABackend/EVABackend/Controllers/EVAController.cs b/Backend/EVABackend/EVABackend/Controllers/EVAController.cs index 8f2be76..b44185e 100644 --- a/Backend/EVABackend/EVABackend/Controllers/EVAController.cs +++ b/Backend/EVABackend/EVABackend/Controllers/EVAController.cs @@ -32,7 +32,27 @@ namespace EVABackend.Controllers [AllowAnonymous] public ActionResult Login() { - return Ok(new { status = "Nicht unterstützt" }); + return StatusCode(404, new { status = "Nicht unerstützt" }); + } + + [HttpGet] + [Route("unauthorized")] + [AllowAnonymous] + public ActionResult GetUnauthorized() + { + return StatusCode(401, new { status = "401 - Unauthorized" }); + } + +#if DEBUG + [HttpGet] + [Route("login_test")] + [AllowAnonymous] + public async Task LoginTest() + { + var user = await _userManager.FindByNameAsync("Test"); + await _signInManager.SignInAsync(user, true); + + return Ok(new { status = "Eingeloggt als Test" }); } [HttpGet] @@ -42,7 +62,6 @@ namespace EVABackend.Controllers { if (_userManager.FindByNameAsync("Test") == null) { - var user = new EVABackendUser { UserName = "Test", @@ -66,6 +85,7 @@ namespace EVABackend.Controllers return Ok(); } +#endif [HttpPost] [Route("login")] @@ -78,15 +98,18 @@ namespace EVABackend.Controllers return Ok(); } - return Unauthorized(); + return GetUnauthorized(); } [HttpPost] +#if DEBUG + [HttpGet] +#endif [Route("logout")] [Authorize] public async Task Logout() { - await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme); + await _signInManager.SignOutAsync(); return Ok(); } @@ -146,7 +169,7 @@ namespace EVABackend.Controllers await _context.SaveChangesAsync(); antrag.Instrumente = instrumente.Select(i => new AntragInstrument { AntragId = antrag.Id, InstrumentId = i.Id }).ToList(); - + await _context.SaveChangesAsync(); return Ok(); @@ -172,7 +195,7 @@ namespace EVABackend.Controllers var model = rooms.Select(r => new { RaumID = r.Id, - RaumName= r.Name, + RaumName = r.Name, Instrumente = r.Instrumente.Select(i => new { InstrumentID = i.InstrumentId, @@ -188,7 +211,7 @@ namespace EVABackend.Controllers [Authorize(Roles = "Verwaltung")] public async Task CreateRooms(CreateRooms model) { - + throw new System.NotImplementedException(); } } } diff --git a/Backend/EVABackend/EVABackend/Startup.cs b/Backend/EVABackend/EVABackend/Startup.cs index f68d70a..5472cc9 100644 --- a/Backend/EVABackend/EVABackend/Startup.cs +++ b/Backend/EVABackend/EVABackend/Startup.cs @@ -1,7 +1,5 @@ -using EVABackend.Areas.Identity.Data; -using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; @@ -33,11 +31,11 @@ namespace EVABackend else { app.UseHsts(); + app.UseHttpsRedirection(); } app.UseStaticFiles(); app.UseAuthentication(); - app.UseHttpsRedirection(); app.UseMvc(); } } diff --git a/Backend/EVABackend/EVABackend/eva_users.db b/Backend/EVABackend/EVABackend/eva_users.db index 060977427a1f04ad6d5c4590e1033324b473f3be..32663f956813f44aeaa2245f3966f7b552b9564c 100644 GIT binary patch delta 1045 zcmd6mK~EGh7=~xIJCI%C7Ec?Z8`)%4)O@k+wA0STKyagGff%rGBH7Ngqb3N3Nc6Ux zIIH{tB;Ji~qQAm3M!fP5ym_&UqDSZGxo?x_ee!<02V=VjV=pg+b1D+HDQXw)>B+FfDRYD7ADv@rtwV{Hr#4(W08sLI5FtJS`lWCk7GRQ>Y z$g10ZZZ@9nY(8A=F0aikJkU#b1ka6i2?b)U^hCl!nim;lmXOTw#J`jEFw(7-wrMPQ zK@}KF3gDc@kjh+nIzkm?LW+W|=~|fz=R8d~jP4)dPU1~S zDkbD8bHI&cpmJipCMO(|tYBI8p;e&eCOy z^uph1R;JA_x6J@IvBN`8SHsa_RqJp>cfAZ9`V*figI8Io>iw@8mJxq-D_n6wQ6VU`Zyg{XZ_dzWjZ6-;iu?n_~X(~ DrO5@P delta 104 zcmZozz}B#UZGto-^F$eEM&^wPOY|4BEKu0Y5^#fGCDk%DCCSJ*Q8(GZGEvtg#VkcP z$-u%u*VHK4AT80z$iURna#I3J0z}7xKk|z<2msNh4U7WY84Vbj4S*5?+gS=2|HuOX DsGT7t From e395bb23fb0048a1b1bff5826c4143895e4352fa Mon Sep 17 00:00:00 2001 From: Tobi Date: Fri, 21 Jun 2019 02:15:34 +0200 Subject: [PATCH 2/3] :construction: Unauthorized implementiert; Bugfixes --- Backend/EVABackend/EVABackend/Controllers/EVAController.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/Backend/EVABackend/EVABackend/Controllers/EVAController.cs b/Backend/EVABackend/EVABackend/Controllers/EVAController.cs index b44185e..8bdc3ed 100644 --- a/Backend/EVABackend/EVABackend/Controllers/EVAController.cs +++ b/Backend/EVABackend/EVABackend/Controllers/EVAController.cs @@ -1,7 +1,5 @@ using EVABackend.Areas.Identity.Data; using EVABackend.Models; -using Microsoft.AspNetCore.Authentication; -using Microsoft.AspNetCore.Authentication.Cookies; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; From 4ef07e4b04f9b8024a9478135ff9dfc2c42de8a7 Mon Sep 17 00:00:00 2001 From: Tobi Date: Wed, 26 Jun 2019 12:54:40 +0200 Subject: [PATCH 3/3] :construction: HTTPS Redirection rausgenommen --- Backend/EVABackend/EVABackend/Controllers/EVAController.cs | 2 +- Backend/EVABackend/EVABackend/Dockerfile | 2 +- Backend/EVABackend/EVABackend/Startup.cs | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Backend/EVABackend/EVABackend/Controllers/EVAController.cs b/Backend/EVABackend/EVABackend/Controllers/EVAController.cs index 8bdc3ed..bb97e42 100644 --- a/Backend/EVABackend/EVABackend/Controllers/EVAController.cs +++ b/Backend/EVABackend/EVABackend/Controllers/EVAController.cs @@ -45,7 +45,7 @@ namespace EVABackend.Controllers [HttpGet] [Route("login_test")] [AllowAnonymous] - public async Task LoginTest() + public async Task LoginTest() { var user = await _userManager.FindByNameAsync("Test"); await _signInManager.SignInAsync(user, true); diff --git a/Backend/EVABackend/EVABackend/Dockerfile b/Backend/EVABackend/EVABackend/Dockerfile index 009b6ae..5ec21e2 100644 --- a/Backend/EVABackend/EVABackend/Dockerfile +++ b/Backend/EVABackend/EVABackend/Dockerfile @@ -5,7 +5,7 @@ EXPOSE 443 FROM mcr.microsoft.com/dotnet/core/sdk:2.1-stretch AS build WORKDIR /src -COPY ["EVABackend.csproj", "EVABackend/"] +COPY ["EVABackend/EVABackend.csproj", "EVABackend/"] RUN dotnet restore "EVABackend/EVABackend.csproj" COPY . . WORKDIR "/src/EVABackend" diff --git a/Backend/EVABackend/EVABackend/Startup.cs b/Backend/EVABackend/EVABackend/Startup.cs index 5472cc9..aa5f728 100644 --- a/Backend/EVABackend/EVABackend/Startup.cs +++ b/Backend/EVABackend/EVABackend/Startup.cs @@ -31,7 +31,6 @@ namespace EVABackend else { app.UseHsts(); - app.UseHttpsRedirection(); } app.UseStaticFiles();