From 29eb91c3b18b87fd74b2db9f1c72e532c50636b5 Mon Sep 17 00:00:00 2001 From: Wvader <34067397+wvader@users.noreply.github.com> Date: Thu, 27 Oct 2022 18:13:02 +0100 Subject: [PATCH] Use Razor to present view --- BlueWest.Api/Controllers/AuthController.cs | 9 +- BlueWest.Api/Startup.cs | 27 +- BlueWest.Api/StartupExtensions.cs | 31 +- BlueWest.Api/config.json | 4 - BlueWest.Data.Auth/BlueWest.Data.Auth.csproj | 8 + BlueWest.Data.Auth/Class1.cs | 5 - .../Configuration/BlueWestConnectionString.cs | 10 +- BlueWest.Data.Auth/Session/LoginRequest.cs | 2 +- ...egisterViewModel.cs => RegisterRequest.cs} | 2 +- .../Session/SessionConstants.cs | 9 +- BlueWest.Data.Auth/Users/Auth/AuthManager.cs | 61 ++- BlueWest.Data.Auth/Users/Auth/IAuthManager.cs | 16 +- BlueWest.Data.Auth/Users/IUserManager.cs | 11 +- BlueWest.Data.Auth/appsettings.json | 24 ++ .../BlueWest.Razor.Library.csproj | 18 - BlueWest.Razor.Library/Component1.razor | 3 - BlueWest.Razor.Library/Component1.razor.css | 6 - BlueWest.Razor.Library/ExampleJsInterop.cs | 36 -- BlueWest.Razor.Library/_Imports.razor | 1 - BlueWest.Razor.Library/wwwroot/background.png | Bin 378 -> 0 bytes .../wwwroot/exampleJsInterop.js | 6 - BlueWest.Views/BlueWest.Views.csproj | 19 +- .../Controllers/AccountController.cs | 64 +++ BlueWest.Views/Controllers/AuthController.cs | 92 ++++- .../Controllers/Data/DataController.cs | 59 ++- BlueWest.Views/Controllers/HomeController.cs | 28 +- BlueWest.Views/Controllers/JobsController.cs | 33 -- .../Controllers/System/SystemController.cs | 38 +- BlueWest.Views/Controllers/UserController.cs | 112 ++++++ BlueWest.Views/Languages/SiteContent.cs | 138 +++++++ BlueWest.Views/Models/IpInformation.cs | 7 + BlueWest.Views/Models/IpType.cs | 6 + BlueWest.Views/Program.cs | 2 +- BlueWest.Views/Properties/launchSettings.json | 2 +- BlueWest.Views/SessionManager.cs | 3 +- BlueWest.Views/Startup.cs | 20 +- BlueWest.Views/StartupExtensions.cs | 364 +++++++++--------- BlueWest.Views/Utils/ControllerExtensions.cs | 27 -- BlueWest.Views/Utils/DataUtil.cs | 34 ++ BlueWest.Views/Utils/LayoutCache.cs | 68 ++-- BlueWest.Views/Utils/Routes.cs | 212 +++------- BlueWest.Views/Utils/ViewType.cs | 3 +- .../Views/Account/ChangePassword.cshtml | 111 ++++++ .../Views/Account/Curriculums/Index.cshtml | 10 + .../Views/Account/Curriculums/Upload.cshtml | 0 BlueWest.Views/Views/Account/Index.cshtml | 111 ++++++ BlueWest.Views/Views/Auth/Index.cshtml | 1 - BlueWest.Views/Views/Auth/Login.cshtml | 68 ++++ BlueWest.Views/Views/Auth/Signup.cshtml | 117 ++++++ BlueWest.Views/Views/Data/Banks/Index.cshtml | 6 + .../Views/Data/Companies/Index.cshtml | 7 +- .../Views/Data/Countries/Index.cshtml | 7 +- .../Views/Data/Currencies/Index.cshtml | 11 + BlueWest.Views/Views/Data/Index.cshtml | 6 +- BlueWest.Views/Views/Home/Index.cshtml | 11 +- BlueWest.Views/Views/Home/Login.cshtml | 11 + BlueWest.Views/Views/Jobs/Index.cshtml | 10 - BlueWest.Views/Views/Shared/UsersMenu.cshtml | 59 --- .../Views/Shared/_FooterMenu.cshtml | 45 ++- .../Views/Shared/_HeaderMenu.cshtml | 23 +- BlueWest.Views/Views/Shared/_Layout.cshtml | 21 +- BlueWest.Views/Views/System/Index.cshtml | 5 - BlueWest.Views/Views/System/Logs.cshtml | 5 + .../Views/System/Roles/Index.cshtml | 6 + BlueWest.Views/Views/System/Users.cshtml | 7 +- BlueWest.Views/appsettings.json | 9 +- BlueWest.Views/config.json | 4 - .../wwwroot/static/profile/boy-avatar.png | Bin 0 -> 284453 bytes BlueWest.sln | 6 - docker-compose.db.only.yml | 12 +- 70 files changed, 1533 insertions(+), 776 deletions(-) delete mode 100644 BlueWest.Api/config.json delete mode 100644 BlueWest.Data.Auth/Class1.cs rename BlueWest.Data.Auth/Session/{RegisterViewModel.cs => RegisterRequest.cs} (98%) create mode 100644 BlueWest.Data.Auth/appsettings.json delete mode 100644 BlueWest.Razor.Library/BlueWest.Razor.Library.csproj delete mode 100644 BlueWest.Razor.Library/Component1.razor delete mode 100644 BlueWest.Razor.Library/Component1.razor.css delete mode 100644 BlueWest.Razor.Library/ExampleJsInterop.cs delete mode 100644 BlueWest.Razor.Library/_Imports.razor delete mode 100644 BlueWest.Razor.Library/wwwroot/background.png delete mode 100644 BlueWest.Razor.Library/wwwroot/exampleJsInterop.js create mode 100644 BlueWest.Views/Controllers/AccountController.cs delete mode 100644 BlueWest.Views/Controllers/JobsController.cs create mode 100644 BlueWest.Views/Controllers/UserController.cs create mode 100644 BlueWest.Views/Languages/SiteContent.cs create mode 100644 BlueWest.Views/Models/IpInformation.cs create mode 100644 BlueWest.Views/Models/IpType.cs delete mode 100644 BlueWest.Views/Utils/ControllerExtensions.cs create mode 100644 BlueWest.Views/Utils/DataUtil.cs create mode 100644 BlueWest.Views/Views/Account/ChangePassword.cshtml create mode 100644 BlueWest.Views/Views/Account/Curriculums/Index.cshtml create mode 100644 BlueWest.Views/Views/Account/Curriculums/Upload.cshtml create mode 100644 BlueWest.Views/Views/Account/Index.cshtml create mode 100644 BlueWest.Views/Views/Auth/Login.cshtml create mode 100644 BlueWest.Views/Views/Auth/Signup.cshtml create mode 100644 BlueWest.Views/Views/Data/Banks/Index.cshtml create mode 100644 BlueWest.Views/Views/Data/Currencies/Index.cshtml create mode 100644 BlueWest.Views/Views/Home/Login.cshtml delete mode 100644 BlueWest.Views/Views/Jobs/Index.cshtml delete mode 100644 BlueWest.Views/Views/Shared/UsersMenu.cshtml create mode 100644 BlueWest.Views/Views/System/Logs.cshtml delete mode 100644 BlueWest.Views/config.json create mode 100644 BlueWest.Views/wwwroot/static/profile/boy-avatar.png diff --git a/BlueWest.Api/Controllers/AuthController.cs b/BlueWest.Api/Controllers/AuthController.cs index 3ce2a23..d429524 100644 --- a/BlueWest.Api/Controllers/AuthController.cs +++ b/BlueWest.Api/Controllers/AuthController.cs @@ -3,6 +3,7 @@ using BlueWest.Data.Auth; using BlueWest.Data.Auth.Context.Users; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authentication.Cookies; +using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; @@ -35,13 +36,13 @@ namespace BlueWest.WebApi.Controllers; /// /// Signup user /// - /// + /// /// [AllowAnonymous] [HttpPost("register")] - public async Task> SignupUserAsync(RegisterViewModel registerViewModel) + public async Task> SignupUserAsync(RegisterRequest registerRequest) { - return await _authManager.CreateUserAsync(registerViewModel); + return await _authManager.CreateUserAsync(registerRequest); } @@ -55,7 +56,7 @@ namespace BlueWest.WebApi.Controllers; [HttpPost("login")] public async Task> GetSessionToken(LoginRequest loginViewModel) { - var (success, sessionToken, _) = await _authManager.GetSessionTokenIdByLoginRequest(loginViewModel); + var (success, sessionToken, _) = await _authManager.GetSessionTokenIdByLoginRequest(loginViewModel, JwtBearerDefaults.AuthenticationScheme); if (success) { diff --git a/BlueWest.Api/Startup.cs b/BlueWest.Api/Startup.cs index 2047125..c8379ec 100644 --- a/BlueWest.Api/Startup.cs +++ b/BlueWest.Api/Startup.cs @@ -54,7 +54,14 @@ namespace BlueWest.WebApi .AllowCredentials(); }); }); - + services.AddDistributedMemoryCache(); + + services.AddSession(options => + { + options.Cookie.Name = ".BlueWest.Session"; + options.Cookie.Domain = SessionConstants.CookieDomain; + options.Cookie.HttpOnly = true; + }); services .AddResponseCaching() .AddControllers(options => @@ -71,12 +78,8 @@ namespace BlueWest.WebApi { builder.AddSimpleConsole(); }); - - services.AddSession(options => - { - options.Cookie.Domain = SessionConstants.CookieDomain; - options.Cookie.HttpOnly = true; - }); + + services .AddSwaggerGen(options => { @@ -136,20 +139,15 @@ namespace BlueWest.WebApi ); */ - - IConfigurationRoot configuration = new ConfigurationBuilder() - .AddJsonFile("config.json") - .Build(); - services .AddSingleton(); - services.AddAuthServerServices( _configuration, _environment, configuration); + services.AddAuthServerServices( _configuration, _environment); services.AddScoped(); - services.PrepareMySqlDatabasePool(_configuration, _environment, configuration); + services.PrepareMySqlDatabasePool(_configuration, _environment); @@ -180,6 +178,7 @@ namespace BlueWest.WebApi app.UseRouting(); app.UseCors(MyAllowSpecificOrigins); + app.UseSession(); app.UseAuthentication(); app.UseAuthorization(); app.UseEndpoints(endpoints => diff --git a/BlueWest.Api/StartupExtensions.cs b/BlueWest.Api/StartupExtensions.cs index 667685b..d17b5ae 100644 --- a/BlueWest.Api/StartupExtensions.cs +++ b/BlueWest.Api/StartupExtensions.cs @@ -32,23 +32,23 @@ namespace BlueWest.WebApi { private static MySqlServerVersion GetMySqlServerVersion(int major, int minor, int build) => new (new Version(major, minor, build)); - private static BlueWestConnectionString GetConnectionString(this IConfigurationRoot configurationRoot) + private static string GetConnectionString(this IConfiguration configurationRoot, string db) { // Docker / No-Docker var startupMode = configurationRoot["mode"]; if (startupMode == "docker") { - var config = configurationRoot.Get(); + var config = configurationRoot.GetSection("ConnectionStringDocker")[db]; return config; } else { - var config = configurationRoot.Get(); + var config = configurationRoot.GetSection("ConnectionStringNoDocker")[db]; return config; } - return null; + return string.Empty; } /// @@ -60,14 +60,13 @@ namespace BlueWest.WebApi private static DbContextOptionsBuilder GetMySqlSettings( this DbContextOptionsBuilder optionsBuilder, IConfiguration configuration, - IConfigurationRoot configurationRoot, IWebHostEnvironment environment) { var sqlVersion = GetMySqlServerVersion(8, 0, 11); // Docker / No-Docker - - string mySqlConnectionString = configurationRoot.GetConnectionString().MySql; + + var mySqlConnectionString = configuration.GetConnectionString("MySQL"); if (mySqlConnectionString == string.Empty) { @@ -106,25 +105,25 @@ namespace BlueWest.WebApi /// /// public static IServiceCollection PrepareMySqlDatabasePool(this IServiceCollection serviceCollection, - IConfiguration configuration, IWebHostEnvironment environment, IConfigurationRoot configurationRoot) + IConfiguration configuration, IWebHostEnvironment environment) { return serviceCollection .AddDbContextPool(options => - options.GetMySqlSettings(configuration, configurationRoot, environment)) + options.GetMySqlSettings(configuration, environment)) .AddDbContextPool(options => - options.GetMySqlSettings(configuration, configurationRoot, environment)) + options.GetMySqlSettings(configuration, environment)) .AddDbContextPool(options => - options.GetMySqlSettings(configuration, configurationRoot, environment)) + options.GetMySqlSettings(configuration, environment)) .AddDbContextPool(options => - options.GetMySqlSettings(configuration, configurationRoot, environment)) + options.GetMySqlSettings(configuration, environment)) .AddDbContextPool(options => - options.GetMySqlSettings(configuration, configurationRoot, environment)); + options.GetMySqlSettings(configuration, environment)); } - internal static IServiceCollection AddAuthServerServices(this IServiceCollection services, IConfiguration configuration , IWebHostEnvironment environment, IConfigurationRoot configurationRoot) + internal static IServiceCollection AddAuthServerServices(this IServiceCollection services, IConfiguration configuration , IWebHostEnvironment environment) { - var connectionString = configurationRoot.GetConnectionString(); + var connectionString = configuration.GetConnectionString("Redis"); if (connectionString == null) { @@ -132,7 +131,7 @@ namespace BlueWest.WebApi } services - .AddSingleton(new RedisConnectionProvider(connectionString.Redis)) + .AddSingleton(new RedisConnectionProvider(connectionString)) .AddScoped() .AddScoped() .AddHostedService() diff --git a/BlueWest.Api/config.json b/BlueWest.Api/config.json deleted file mode 100644 index 4cf70fd..0000000 --- a/BlueWest.Api/config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "mode": "no-docker", - "database": "mysql" -} \ No newline at end of file diff --git a/BlueWest.Data.Auth/BlueWest.Data.Auth.csproj b/BlueWest.Data.Auth/BlueWest.Data.Auth.csproj index bc92b8f..24fb517 100644 --- a/BlueWest.Data.Auth/BlueWest.Data.Auth.csproj +++ b/BlueWest.Data.Auth/BlueWest.Data.Auth.csproj @@ -44,4 +44,12 @@ + + + true + PreserveNewest + PreserveNewest + + + diff --git a/BlueWest.Data.Auth/Class1.cs b/BlueWest.Data.Auth/Class1.cs deleted file mode 100644 index 77bc2b9..0000000 --- a/BlueWest.Data.Auth/Class1.cs +++ /dev/null @@ -1,5 +0,0 @@ -namespace BlueWest.Data.Auth; - -public class Class1 -{ -} \ No newline at end of file diff --git a/BlueWest.Data.Auth/Configuration/BlueWestConnectionString.cs b/BlueWest.Data.Auth/Configuration/BlueWestConnectionString.cs index 9d3813a..54475bc 100644 --- a/BlueWest.Data.Auth/Configuration/BlueWestConnectionString.cs +++ b/BlueWest.Data.Auth/Configuration/BlueWestConnectionString.cs @@ -1,12 +1,16 @@ namespace BlueWest.WebApi.Configuration { - public class BlueWestConnectionString + public class ConnectionStringDocker { public string Redis { get; set; } public string MySql { get; set; } } - public class ConnectionStringDocker : BlueWestConnectionString { } - public class ConnectionStringNoDocker : BlueWestConnectionString { } + public class ConnectionStringNoDocker + { + public string Redis { get; set; } + public string MySql { get; set; } + } + } diff --git a/BlueWest.Data.Auth/Session/LoginRequest.cs b/BlueWest.Data.Auth/Session/LoginRequest.cs index 8beadb5..8a1867a 100644 --- a/BlueWest.Data.Auth/Session/LoginRequest.cs +++ b/BlueWest.Data.Auth/Session/LoginRequest.cs @@ -23,7 +23,7 @@ namespace BlueWest.Data.Auth.Context.Users public string Password { get; set; } [Required] - public string Uuid { get; set; } + public string Uuid { get ; set; } /// /// Gets Uuid for this login request diff --git a/BlueWest.Data.Auth/Session/RegisterViewModel.cs b/BlueWest.Data.Auth/Session/RegisterRequest.cs similarity index 98% rename from BlueWest.Data.Auth/Session/RegisterViewModel.cs rename to BlueWest.Data.Auth/Session/RegisterRequest.cs index b3348c1..5b3f826 100644 --- a/BlueWest.Data.Auth/Session/RegisterViewModel.cs +++ b/BlueWest.Data.Auth/Session/RegisterRequest.cs @@ -6,7 +6,7 @@ namespace BlueWest.Data.Auth.Context.Users; /// /// /// -public class RegisterViewModel +public class RegisterRequest { /// /// Email diff --git a/BlueWest.Data.Auth/Session/SessionConstants.cs b/BlueWest.Data.Auth/Session/SessionConstants.cs index 16fa5ef..97cd2e7 100644 --- a/BlueWest.Data.Auth/Session/SessionConstants.cs +++ b/BlueWest.Data.Auth/Session/SessionConstants.cs @@ -5,10 +5,17 @@ namespace BlueWest.Data.Auth public static class SessionConstants { + /// + /// Max age for the Session + /// public static TimeSpan DefaultSessionMaxAge = TimeSpan.FromHours(24); + /// + /// API User policy Key + /// public const string ApiNamePolicy = "ApiUser"; public const string SessionTokenHeaderName = "x-bw2-auth"; - public const string CookieDomain = "http://localhost:5173"; + public const string CookieDomain = "https://localhost:7022"; + } } diff --git a/BlueWest.Data.Auth/Users/Auth/AuthManager.cs b/BlueWest.Data.Auth/Users/Auth/AuthManager.cs index 7cf8669..79632cf 100644 --- a/BlueWest.Data.Auth/Users/Auth/AuthManager.cs +++ b/BlueWest.Data.Auth/Users/Auth/AuthManager.cs @@ -3,12 +3,16 @@ using System.Security.Claims; using BlueWest.Cryptography; using BlueWest.Data.Application; using BlueWest.Data.Application.Users; +using Microsoft.AspNetCore.Authentication.Cookies; using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Identity; using static BlueWest.Data.Auth.Context.Users.AuthConsts; namespace BlueWest.Data.Auth.Context.Users { + /// + /// Authentication Manager for the Application Users + /// public class AuthManager : IAuthManager { private readonly ApplicationUserManager _userManager; @@ -48,7 +52,7 @@ namespace BlueWest.Data.Auth.Context.Users return _hasher.CreateHash(uuid, BaseCryptoItem.HashAlgorithm.SHA2_512); } - private SessionToken GetNewSessionToken(LoginRequest loginRequest, ApplicationUser user, string token) + private SessionToken GetNewSessionToken(LoginRequest loginRequest, ApplicationUser user) { long timeNow = DateTimeOffset.Now.ToUnixTimeMilliseconds(); @@ -58,8 +62,7 @@ namespace BlueWest.Data.Auth.Context.Users UserId = user.Id, CreatedDate = timeNow, IsValid = true, - ValidFor = SessionConstants.DefaultSessionMaxAge.Milliseconds, - AccessToken = token + ValidFor = SessionConstants.DefaultSessionMaxAge.Milliseconds }; return newToken; @@ -77,7 +80,7 @@ namespace BlueWest.Data.Auth.Context.Users return token.IsValid; } - public async Task<(bool, SessionTokenUnique, ClaimsIdentity)> GetSessionTokenIdByLoginRequest(LoginRequest loginRequest) + public async Task<(bool, SessionTokenUnique, ClaimsIdentity)> GetSessionTokenIdByLoginRequest(LoginRequest loginRequest, string authenticationType = JwtBearerDefaults.AuthenticationScheme) { var user = await _userManager.FindByEmailAsync(loginRequest.Email); @@ -85,24 +88,55 @@ namespace BlueWest.Data.Auth.Context.Users if (!await _userManager.CheckPasswordAsync(user, loginRequest.Password)) return NegativeToken; - var identity = new ClaimsIdentity(JwtBearerDefaults.AuthenticationScheme); + var identity = new ClaimsIdentity(authenticationType); identity.AddClaim(new Claim(ClaimTypes.Email, user.Email)); + identity.AddClaim(new Claim(ClaimTypes.MobilePhone, user.PhoneNumber)); + identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, user.Id)); + var sessionToken = await GetSessionToken(loginRequest); if (sessionToken == null || !SessionTokenIsValid(sessionToken)) { var (success, bearerToken) = await GenerateBearerToken(identity, user); - var newSessionToken = GetNewSessionToken(loginRequest, user, bearerToken); + var newSessionToken = GetNewSessionToken(loginRequest, user); await _sessionCache.AddSessionToken(newSessionToken); var tokenUnique = new SessionTokenUnique(newSessionToken); - return OkAuth(tokenUnique, identity, success); } var response = new SessionTokenUnique(sessionToken); return OkAuth(response, identity); } + + public async Task<(bool, SessionTokenUnique, ClaimsIdentity)> GetSessionTokenIdByLoginRequestViaCookie(LoginRequest loginRequest, string authenticationType = CookieAuthenticationDefaults.AuthenticationScheme) + { + var user = await _userManager.FindByEmailAsync(loginRequest.Email); + + if (user == null) return NegativeToken; + + if (!await _userManager.CheckPasswordAsync(user, loginRequest.Password)) return NegativeToken; + + var identity = new ClaimsIdentity(authenticationType); + identity.AddClaim(new Claim(ClaimTypes.Email, user.Email)); + identity.AddClaim(new Claim(ClaimTypes.MobilePhone, user.PhoneNumber)); + identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, user.Id)); + + + var sessionToken = await GetSessionToken(loginRequest); + + if (sessionToken == null || !SessionTokenIsValid(sessionToken)) + { + var newSessionToken = GetNewSessionToken(loginRequest, user); + await _sessionCache.AddSessionToken(newSessionToken); + var tokenUnique = new SessionTokenUnique(newSessionToken); + return OkAuth(tokenUnique, identity); + } + + var response = new SessionTokenUnique(sessionToken); + return OkAuth(response, identity); + } + private async Task<(bool, string)> GenerateBearerToken(ClaimsIdentity identity, ApplicationUser user) { @@ -113,6 +147,12 @@ namespace BlueWest.Data.Auth.Context.Users } + /// + /// Verify Password + /// + /// + /// + /// public async Task VerifyLoginByEmailAsync(string email, string password) { var user = await _userManager.FindByEmailAsync(email); @@ -120,7 +160,12 @@ namespace BlueWest.Data.Auth.Context.Users } - public async Task CreateUserAsync(RegisterViewModel userSignupDto) + /// + /// Create user + /// + /// + /// + public async Task CreateUserAsync(RegisterRequest userSignupDto) { userSignupDto.Password = _hasher.CreateHash(userSignupDto.Password, BaseCryptoItem.HashAlgorithm.SHA3_512);; var newUser = userSignupDto.ToUser(); diff --git a/BlueWest.Data.Auth/Users/Auth/IAuthManager.cs b/BlueWest.Data.Auth/Users/Auth/IAuthManager.cs index 7743f93..f63b38f 100644 --- a/BlueWest.Data.Auth/Users/Auth/IAuthManager.cs +++ b/BlueWest.Data.Auth/Users/Auth/IAuthManager.cs @@ -14,16 +14,26 @@ public interface IAuthManager /// /// CreateUserAsync /// - /// + /// /// - Task CreateUserAsync(RegisterViewModel registerViewModel); + Task CreateUserAsync(RegisterRequest registerRequest); /// /// Does Login /// /// /// - public Task<(bool, SessionTokenUnique, ClaimsIdentity)> GetSessionTokenIdByLoginRequest(LoginRequest loginRequest); + public Task<(bool, SessionTokenUnique, ClaimsIdentity)> GetSessionTokenIdByLoginRequest(LoginRequest loginRequest, string authenticationType); + + + /// + /// Does Login + /// + /// + /// + public Task<(bool, SessionTokenUnique, ClaimsIdentity)> GetSessionTokenIdByLoginRequestViaCookie(LoginRequest loginRequest, string authenticationType); + + } \ No newline at end of file diff --git a/BlueWest.Data.Auth/Users/IUserManager.cs b/BlueWest.Data.Auth/Users/IUserManager.cs index 981eccc..598f996 100644 --- a/BlueWest.Data.Auth/Users/IUserManager.cs +++ b/BlueWest.Data.Auth/Users/IUserManager.cs @@ -1,4 +1,5 @@ +using System.Security.Claims; using BlueWest.Data.Application.Users; using Microsoft.AspNetCore.Identity; @@ -6,6 +7,12 @@ namespace BlueWest.Data.Auth.Context.Users { public interface IUserManager { + /// + /// + /// + /// + /// + Task GetUserAsync(ClaimsPrincipal principal); /// /// Create user. /// @@ -28,8 +35,8 @@ namespace BlueWest.Data.Auth.Context.Users /// Task FindByEmailAsync(string email); - - + string GetUserId(ClaimsPrincipal principal); + } } diff --git a/BlueWest.Data.Auth/appsettings.json b/BlueWest.Data.Auth/appsettings.json new file mode 100644 index 0000000..0a4a6fc --- /dev/null +++ b/BlueWest.Data.Auth/appsettings.json @@ -0,0 +1,24 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*", + "ConnectionStringDocker": { + "MySQL": "server=db;user=blueuser;password=dXjw127124dJ;database=bluedb;", + "Redis": "redis://redisinstance:6379" + }, + "ConnectionStringNoDocker": { + "MySQL": "server=localhost;user=blueuser;password=dXjw127124dJ;database=bluedb;", + "Redis": "redis://localhost:6379" + }, + "AuthSettings": { + "SecretKey": "iJWHDmHLpUA283sqsfhqGbMRdRj1PVkH" + }, + "JwtIssuerOptions": { + "Issuer": "SomeIssuer", + "Audience": "http://localhost:5000" + } +} diff --git a/BlueWest.Razor.Library/BlueWest.Razor.Library.csproj b/BlueWest.Razor.Library/BlueWest.Razor.Library.csproj deleted file mode 100644 index 66942bc..0000000 --- a/BlueWest.Razor.Library/BlueWest.Razor.Library.csproj +++ /dev/null @@ -1,18 +0,0 @@ - - - - net6.0 - enable - enable - - - - - - - - - - - - diff --git a/BlueWest.Razor.Library/Component1.razor b/BlueWest.Razor.Library/Component1.razor deleted file mode 100644 index 51d3876..0000000 --- a/BlueWest.Razor.Library/Component1.razor +++ /dev/null @@ -1,3 +0,0 @@ -
- This component is defined in the BlueWest.Razor.Library library. -
\ No newline at end of file diff --git a/BlueWest.Razor.Library/Component1.razor.css b/BlueWest.Razor.Library/Component1.razor.css deleted file mode 100644 index c6afca4..0000000 --- a/BlueWest.Razor.Library/Component1.razor.css +++ /dev/null @@ -1,6 +0,0 @@ -.my-component { - border: 2px dashed red; - padding: 1em; - margin: 1em 0; - background-image: url('background.png'); -} diff --git a/BlueWest.Razor.Library/ExampleJsInterop.cs b/BlueWest.Razor.Library/ExampleJsInterop.cs deleted file mode 100644 index d1bac27..0000000 --- a/BlueWest.Razor.Library/ExampleJsInterop.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Microsoft.JSInterop; - -namespace BlueWest.Razor.Library; - -// This class provides an example of how JavaScript functionality can be wrapped -// in a .NET class for easy consumption. The associated JavaScript module is -// loaded on demand when first needed. -// -// This class can be registered as scoped DI service and then injected into Blazor -// components for use. - -public class ExampleJsInterop : IAsyncDisposable -{ - private readonly Lazy> moduleTask; - - public ExampleJsInterop(IJSRuntime jsRuntime) - { - moduleTask = new(() => jsRuntime.InvokeAsync( - "import", "./_content/BlueWest.Razor.Library/exampleJsInterop.js").AsTask()); - } - - public async ValueTask Prompt(string message) - { - var module = await moduleTask.Value; - return await module.InvokeAsync("showPrompt", message); - } - - public async ValueTask DisposeAsync() - { - if (moduleTask.IsValueCreated) - { - var module = await moduleTask.Value; - await module.DisposeAsync(); - } - } -} \ No newline at end of file diff --git a/BlueWest.Razor.Library/_Imports.razor b/BlueWest.Razor.Library/_Imports.razor deleted file mode 100644 index c3615ef..0000000 --- a/BlueWest.Razor.Library/_Imports.razor +++ /dev/null @@ -1 +0,0 @@ -@using Microsoft.AspNetCore.Components.Web \ No newline at end of file diff --git a/BlueWest.Razor.Library/wwwroot/background.png b/BlueWest.Razor.Library/wwwroot/background.png deleted file mode 100644 index e15a3bde6e2bdb380df6a0b46d7ed00bdeb0aaa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 378 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK1SGdsl%54rjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv>0#LT=By}Z;C1rt33 zJwr2>%=KS^ie7oTIEF;HpS|GCbyPusHSqiXaCu3qf)82(9Gq&mZq2{Kq}M*X&MWtJ zSi1Jo7ZzfImg%g=t(qo=wsSR2lZoP(Rj#3wacN=q0?Br(rXzgZEGK2$ID{|A=5S{xJEuzSH>!M+7wSY6hB<=-E^*n0W7 S8wY^CX7F_Nb6Mw<&;$S{dxtsz diff --git a/BlueWest.Razor.Library/wwwroot/exampleJsInterop.js b/BlueWest.Razor.Library/wwwroot/exampleJsInterop.js deleted file mode 100644 index ea8d76a..0000000 --- a/BlueWest.Razor.Library/wwwroot/exampleJsInterop.js +++ /dev/null @@ -1,6 +0,0 @@ -// This is a JavaScript module that is loaded on demand. It can export any number of -// functions, and may import other JavaScript modules if required. - -export function showPrompt(message) { - return prompt(message, 'Type anything here'); -} diff --git a/BlueWest.Views/BlueWest.Views.csproj b/BlueWest.Views/BlueWest.Views.csproj index e4a465c..fbbb546 100644 --- a/BlueWest.Views/BlueWest.Views.csproj +++ b/BlueWest.Views/BlueWest.Views.csproj @@ -11,8 +11,11 @@ - - + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + @@ -81,7 +84,9 @@ - + + + @@ -90,6 +95,12 @@ PreserveNewest PreserveNewest + + + Always + + + @@ -99,7 +110,7 @@ - + diff --git a/BlueWest.Views/Controllers/AccountController.cs b/BlueWest.Views/Controllers/AccountController.cs new file mode 100644 index 0000000..8e3cf97 --- /dev/null +++ b/BlueWest.Views/Controllers/AccountController.cs @@ -0,0 +1,64 @@ +using System.Diagnostics; +using System.Web.Mvc; +using BlueWest.Data.Auth.Context.Users; +using Microsoft.AspNetCore.Mvc; +using BlueWest.Views.Models; +using BlueWest.Views.Utils; +using Controller = Microsoft.AspNetCore.Mvc.Controller; + +namespace BlueWest.Views.Controllers; + +public class AccountController : UserController +{ + private readonly ILogger _logger; + + + public AccountController(ApplicationUserManager userManager, ILogger logger) : base(userManager, logger) + { + _userManager = userManager; + _logger = logger; + } + public async Task Index() + { + await OnEveryAction(); + var user = await GetLoggedInUser(); + return View(user); + } + + public override void OnInitialization() + { + SetFooterMenu(LayoutCache.AccountRouteRecord.Children); + } + + + + public async Task Curriculums() + { + await OnEveryAction(); + + return View("Curriculums/Index"); + } + + + public async Task Change() + { + await OnEveryAction(); + return View("ChangePassword"); + } + + + [Microsoft.AspNetCore.Mvc.Route("[controller]/upload")] + public async Task UploadCurriculum() + { + await OnEveryAction(); + return View("Curriculums/Upload"); + } + + + [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] + public async Task Error() + { + return View(new ErrorViewModel {RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier}); + } + +} \ No newline at end of file diff --git a/BlueWest.Views/Controllers/AuthController.cs b/BlueWest.Views/Controllers/AuthController.cs index 4bc4d27..a7a8006 100644 --- a/BlueWest.Views/Controllers/AuthController.cs +++ b/BlueWest.Views/Controllers/AuthController.cs @@ -1,18 +1,96 @@ -using BlueWest.Views.Utils; +using System.Security.Claims; +using BlueWest.Data.Auth; +using BlueWest.Data.Auth.Context.Users; +using Microsoft.AspNetCore.Authentication; +using Microsoft.AspNetCore.Authentication.Cookies; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; +using Controller = Microsoft.AspNetCore.Mvc.Controller; namespace BlueWest.Views.Controllers { - [System.Web.Mvc.Route("/login")] - - public class AuthController : Controller + public class AuthController : UserController { - + + private readonly IAuthManager _authManager; + + public AuthController(ApplicationUserManager userManager, ILogger logger, IAuthManager authManager) : base(userManager, logger) + { + _userManager = userManager; + _logger = logger; + _authManager = authManager; + } + public IActionResult Index() + { + OnEveryAction(); + return View(); + } + + [AllowAnonymous] + [Microsoft.AspNetCore.Mvc.ActionName("LoginAction")] + public async Task LoginAction(LoginRequest loginRequest) + { + var (success, sessionToken, identity) = + await _authManager.GetSessionTokenIdByLoginRequestViaCookie(loginRequest, + CookieAuthenticationDefaults.AuthenticationScheme); + + + if (!success) return Redirect(AuthLoginRoute); + + if (success) + { + await HttpContext.SignInAsync( + CookieAuthenticationDefaults.AuthenticationScheme, + new ClaimsPrincipal(identity), + new AuthenticationProperties + { + IsPersistent = true, + ExpiresUtc = DateTime.UtcNow.Add(SessionConstants.DefaultSessionMaxAge) + }); + + HttpContext.Session.SetString("hello", "world"); + + return Redirect(RootLocation); + } + + return Redirect(RootLocation); + } + + public IActionResult Login() { this.HandleGlobalization(); return View(); } - } -} + + + public async Task Logout() + { + await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme); + return Redirect("/"); + } + + + public async Task Signup() + { + await OnEveryAction(); + return View(); + } + + + [Microsoft.AspNetCore.Mvc.ActionName("SignupAction")] + public async Task SignupAction(RegisterRequest registerRequest) + { + var result = await _authManager.CreateUserAsync(registerRequest); + + if (result.Succeeded) + { + return RedirectToAction("Login"); + } + + return RedirectToAction("Signup"); + } + + } +} \ No newline at end of file diff --git a/BlueWest.Views/Controllers/Data/DataController.cs b/BlueWest.Views/Controllers/Data/DataController.cs index b1b2cc3..ea0f7f1 100644 --- a/BlueWest.Views/Controllers/Data/DataController.cs +++ b/BlueWest.Views/Controllers/Data/DataController.cs @@ -1,17 +1,66 @@ +using System.Web.Mvc; +using BlueWest.Data.Auth.Context.Users; using BlueWest.Views.Utils; +using Microsoft.AspNetCore.Authentication.Cookies; using Microsoft.AspNetCore.Mvc; +using Controller = Microsoft.AspNetCore.Mvc.Controller; +using Microsoft.AspNetCore.Http; namespace BlueWest.Views.Controllers { - - public class DataController : Controller + [Authorize] + + public class DataController : UserController { - public IActionResult Index() + + public DataController(ApplicationUserManager userManager, ILogger logger) : base(userManager, + logger) { - this.HandleGlobalization(); - ViewData[FooterMenuId] = LayoutCache.DataRoute.Children; + _userManager = userManager; + _logger = logger; + } + + public async Task Index() + { + await OnEveryAction(); return View(); } + [ChildActionOnly] + public async Task Countries() + { + await OnEveryAction(); + return View("Countries/Index"); + } + + [ChildActionOnly] + + public async Task Companies() + { + await OnEveryAction(); + return View("Companies/Index"); + } + + [ChildActionOnly] + + public async Task Banks() + { + await OnEveryAction(); + return View("Companies/Index"); + } + + [ChildActionOnly] + + public async Task Currencies() + { + await OnEveryAction(); + return View("Currencies/Index"); + } + + public override void OnInitialization() + { + SetFooterMenu(LayoutCache.DataRouteRecord.Children); + } } + } diff --git a/BlueWest.Views/Controllers/HomeController.cs b/BlueWest.Views/Controllers/HomeController.cs index 6c626bb..6abfcdb 100644 --- a/BlueWest.Views/Controllers/HomeController.cs +++ b/BlueWest.Views/Controllers/HomeController.cs @@ -1,24 +1,38 @@ -using Microsoft.AspNetCore.Mvc; +using BlueWest.Data.Auth.Context.Users; +using Microsoft.AspNetCore.Mvc; using BlueWest.Views.Utils; +using Duende.IdentityServer.Extensions; +using Microsoft.AspNetCore.Authorization; using Microsoft.Extensions.Options; using Controller = Microsoft.AspNetCore.Mvc.Controller; namespace BlueWest.Views.Controllers; [System.Web.Mvc.Route("/")] -public class HomeController : Controller +[System.Web.Mvc.Authorize] +public class HomeController : UserController { - private readonly ILogger _logger; - - public HomeController(ILogger logger, IOptions options) + public HomeController(ApplicationUserManager userManager, ILogger logger) : base(userManager, logger) { + _userManager = userManager; _logger = logger; } - public IActionResult Index() + + [AllowAnonymous] + public async Task Index() { - this.HandleGlobalization(); + await OnEveryAction(); + + if (!User.IsAuthenticated()) + { + return Redirect("/auth/login"); + } + + return View(); } + + } \ No newline at end of file diff --git a/BlueWest.Views/Controllers/JobsController.cs b/BlueWest.Views/Controllers/JobsController.cs deleted file mode 100644 index f9fae66..0000000 --- a/BlueWest.Views/Controllers/JobsController.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.Diagnostics; -using System.Web.Mvc; -using Microsoft.AspNetCore.Mvc; -using BlueWest.Views.Models; -using BlueWest.Views.Utils; -using Controller = Microsoft.AspNetCore.Mvc.Controller; - -namespace BlueWest.Views.Controllers; - -public class JobsController : Controller -{ - private readonly ILogger _logger; - - public JobsController(ILogger logger) - { - _logger = logger; - } - - public IActionResult Index() - { - this.HandleGlobalization(); - ViewData["Title"] = "Home Page"; - - return View(); - } - - - [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] - public IActionResult Error() - { - return View(new ErrorViewModel {RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier}); - } -} \ No newline at end of file diff --git a/BlueWest.Views/Controllers/System/SystemController.cs b/BlueWest.Views/Controllers/System/SystemController.cs index 78dfafa..c055268 100644 --- a/BlueWest.Views/Controllers/System/SystemController.cs +++ b/BlueWest.Views/Controllers/System/SystemController.cs @@ -1,29 +1,49 @@ +using BlueWest.Data.Auth.Context.Users; using BlueWest.Views.Utils; using Microsoft.AspNetCore.Mvc; namespace BlueWest.Views.Controllers { - public class SystemController : Controller + public class SystemController : UserController { - private readonly ILogger _logger; - - public SystemController(ILogger logger) + public SystemController(ApplicationUserManager userManager, ILogger logger) : base(userManager, logger) { _logger = logger; + _userManager = userManager; } - - public IActionResult Index() + public async Task Index() { - this.HandleGlobalization(); - ViewData[FooterMenuId] = LayoutCache.SystemRoute.Children; + + await OnEveryAction(); + return View(); + } + + public override void OnInitialization() + { + SetFooterMenu(LayoutCache.SystemRoute.Children); + } + + public async Task Users() + { + await OnEveryAction(); return View(); } - public IActionResult Users() + public async Task Logs() { + await OnEveryAction(); return View(); } + + public async Task Roles() + { + await OnEveryAction(); + return View("Roles/Index"); + } + + + } } diff --git a/BlueWest.Views/Controllers/UserController.cs b/BlueWest.Views/Controllers/UserController.cs new file mode 100644 index 0000000..b5bdcb6 --- /dev/null +++ b/BlueWest.Views/Controllers/UserController.cs @@ -0,0 +1,112 @@ +using System.Net; +using System.Net.Sockets; +using BlueWest.Data.Application.Users; +using BlueWest.Data.Auth.Context.Users; +using BlueWest.Views.Models; +using BlueWest.Views.Utils; +using Duende.IdentityServer.Extensions; +using Microsoft.AspNetCore.Localization; +using Microsoft.AspNetCore.Mvc; + +namespace BlueWest.Views.Controllers; + +public class UserController : Controller +{ + protected ILogger _logger; + protected ApplicationUserManager _userManager; + + private List _footerMenu; + + public UserController(ApplicationUserManager userManager, ILogger logger) + { + _logger = logger; + _userManager = userManager; + _footerMenu = new List(); + } + + public async Task OnEveryAction() + { + HandleGlobalization(); + SetFooterMenuViewData(); + await SetUserProfileViewData(); + OnInitialization(); + SetFooterMenuViewData(); + } + + public virtual void OnInitialization() + { + } + + protected void SetFooterMenuViewData() + { + ViewData[FooterMenuViewDataId] = _footerMenu; + } + + public void SetFooterMenu(List routeRecords) + { + _footerMenu = routeRecords; + } + + public async Task SetUserProfileViewData() + { + if (!ViewData.ContainsKey(UserViewDataId)) + { + ViewData[UserViewDataId] = await GetLoggedInUser(); + } + } + + public async Task GetLoggedInUser() + { + if (User.IsAuthenticated()) + { + ApplicationUser? user = await _userManager.GetUserAsync(User); + return new ApplicationUserUnique(user); + } + + return null; + } + + + public IpInformation ExtractIpInformation(IPAddress? ipAddress) + { + string ipAddressString = ""; + IpType ipType = IpType.Unknown; + + if (ipAddress != null) + { + if (ipAddress.AddressFamily == AddressFamily.InterNetwork) + { + ipType = IpType.Ipv4; + ipAddressString = ipAddress.MapToIPv4().ToString(); + } + + if (ipAddress.AddressFamily == AddressFamily.InterNetworkV6) + { + ipType = IpType.Ipv6; + ipAddressString = ipAddress + .MapToIPv6() + .ToString(); + } + } + + + return new IpInformation(ipType, ipAddressString); + } + + public void HandleGlobalization() + { + var requestCultureFeature = HttpContext.Features.Get(); + string currentCultureName = DefaultCultureName; + if (requestCultureFeature != null) + { + currentCultureName = requestCultureFeature.RequestCulture.Culture.Name; + } + + ViewData[LanguageViewStorage] = currentCultureName; + IPAddress? remoteIpAddress = Request.HttpContext.Connection.RemoteIpAddress; + IpInformation ipInformation = ExtractIpInformation(Request.HttpContext.Connection.RemoteIpAddress); + + + ViewData[IpViewStorage] = ipInformation; + } +} \ No newline at end of file diff --git a/BlueWest.Views/Languages/SiteContent.cs b/BlueWest.Views/Languages/SiteContent.cs new file mode 100644 index 0000000..379aec9 --- /dev/null +++ b/BlueWest.Views/Languages/SiteContent.cs @@ -0,0 +1,138 @@ +namespace BlueWest.Views.Languages; + +public static class SiteContent +{ + internal static readonly Dictionary> RouteTitle = + new Dictionary> + { + { + RootKeyName, new Dictionary() + { + {"pt", "Inicio"}, + {"eng", "Home"}, + {"en-gb", "Home"} + } + }, + { + SystemKeyName, new Dictionary() + { + {"pt", "Sistema"}, + {"eng", "System"}, + {"en-gb", "System"}, + } + }, + { + DataKeyName, new Dictionary() + { + {"pt", "Dados"}, + {"eng", "Data"}, + {"en-gb", "Data"} + } + }, + + { + RolesKeyName, new Dictionary() + { + {"pt", "Tipos de Utilizador"}, + {"en-gb", "Roles"}, + {"eng", "Roles"} + } + }, + { + ApplicationUsersKeyName, new Dictionary() + { + {"pt", "Utilizadores da Aplicação"}, + {"en-gb", "Users"}, + {"eng", "Users"} + } + }, + { + LogsKeyName, new Dictionary() + { + {"pt", "Logs"}, + {"en-gb", "logs"}, + {"eng", "logs"} + } + }, + { + SettingsKeyName, new Dictionary() + { + {"pt", "Personalização"}, + {"eng", "Settings"}, + {"en-gb", "Settings"}, + } + }, + { + CompaniesKeyName, new Dictionary() + { + {"pt", "Empresas"}, + {"eng", "Companies"}, + {"en-gb", "Companies"}, + } + }, + + { + IndustriesKeyName, new Dictionary() + { + {"pt", "Indústrias"}, + {"en-gb", "Industries"}, + {"eng", "Industries"}, + } + }, + + { + CurrenciesKeyName, new Dictionary() + { + {"pt", "Moedas"}, + {"en-gb", "Currencies"}, + {"eng", "Currencies"}, + } + }, + { + CountriesKeyName, new Dictionary() + { + {"pt", "Países"}, + {"eng", "Countries"}, + {"en-gb", "Countries"} + } + }, + + { + BanksKeyName, new Dictionary() + { + {"pt", "Bancos"}, + {"eng", "Banks"}, + {"en-gb", "Banks"}, + } + }, + + + { + DataUsersKeyName, new Dictionary() + { + {"pt", "Utilizadores"}, + {"eng", "Users"}, + {"en-gb", "Users"}, + } + }, + + { + AccountKeyName, new Dictionary() + { + {"pt", "Perfil"}, + {"eng", "Account"}, + {"en-gb", "Account"}, + } + }, + + { + ChangePasswordKeyName, new Dictionary() + { + {"pt", "Alterar Senha"}, + {"eng", "Change Password"}, + {"en-gb", "Change Password"}, + } + }, + + }; +} \ No newline at end of file diff --git a/BlueWest.Views/Models/IpInformation.cs b/BlueWest.Views/Models/IpInformation.cs new file mode 100644 index 0000000..318f009 --- /dev/null +++ b/BlueWest.Views/Models/IpInformation.cs @@ -0,0 +1,7 @@ +namespace BlueWest.Views.Models; + +public record IpInformation +( + IpType IpType, + string Address +); diff --git a/BlueWest.Views/Models/IpType.cs b/BlueWest.Views/Models/IpType.cs new file mode 100644 index 0000000..e1adec7 --- /dev/null +++ b/BlueWest.Views/Models/IpType.cs @@ -0,0 +1,6 @@ +namespace BlueWest.Views.Models; +public enum IpType +{ + Ipv6, Ipv4, Unknown +} + diff --git a/BlueWest.Views/Program.cs b/BlueWest.Views/Program.cs index d32f983..183c582 100644 --- a/BlueWest.Views/Program.cs +++ b/BlueWest.Views/Program.cs @@ -24,7 +24,7 @@ namespace BlueWest.WebApi MainHost = CreateHostBuilder(args) .UseContentRoot(Directory.GetCurrentDirectory()) .Build(); - + MainHost.Run(); diff --git a/BlueWest.Views/Properties/launchSettings.json b/BlueWest.Views/Properties/launchSettings.json index de6123d..4dccadf 100644 --- a/BlueWest.Views/Properties/launchSettings.json +++ b/BlueWest.Views/Properties/launchSettings.json @@ -11,7 +11,7 @@ "BlueWest.Views": { "commandName": "Project", "dotnetRunMessages": true, - "launchBrowser": true, + "launchBrowser": false, "applicationUrl": "https://localhost:7022;http://localhost:5204", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" diff --git a/BlueWest.Views/SessionManager.cs b/BlueWest.Views/SessionManager.cs index 532c283..7aa59c2 100644 --- a/BlueWest.Views/SessionManager.cs +++ b/BlueWest.Views/SessionManager.cs @@ -42,7 +42,8 @@ public sealed class SessionManager : ISessionCache /// public async Task GetSessionTokenByIdAsync(string tokenId) { - return await _sessionTokens.Where(x => x.Id == tokenId) + return + await _sessionTokens.Where(x => x.Id == tokenId) .FirstOrDefaultAsync(); } diff --git a/BlueWest.Views/Startup.cs b/BlueWest.Views/Startup.cs index cc3ed93..bc26bc8 100644 --- a/BlueWest.Views/Startup.cs +++ b/BlueWest.Views/Startup.cs @@ -30,10 +30,6 @@ public class Startup services.AddSingleton(); // Add services to the container. - IConfigurationRoot configuration = new ConfigurationBuilder() - .AddJsonFile("config.json") - .Build(); - services.Configure(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. @@ -45,19 +41,12 @@ public class Startup { builder.AddSimpleConsole(); }); - - services.AddSession(options => - { - options.Cookie.Domain = SessionConstants.CookieDomain; - options.Cookie.HttpOnly = true; - }); + services.AddControllersWithViews(x => x.EnableEndpointRouting = false); - services.AddSession(options => options.IdleTimeout = TimeSpan.FromHours(8)); - - - services.AddAuthServerServices(_configuration, _environment, configuration); - services.PrepareMySqlDatabasePool(_configuration, _environment, configuration); + + services.AddAuthServerServices(_configuration, _environment); + services.PrepareMySqlDatabasePool(_configuration, _environment); } @@ -93,6 +82,7 @@ public class Startup app.UseAuthentication(); app.UseAuthorization(); app.UseSession(); + app.UseMvcWithDefaultRoute(); diff --git a/BlueWest.Views/StartupExtensions.cs b/BlueWest.Views/StartupExtensions.cs index 79cbcac..89cb3c5 100644 --- a/BlueWest.Views/StartupExtensions.cs +++ b/BlueWest.Views/StartupExtensions.cs @@ -4,7 +4,7 @@ using BlueWest.Data.Application.Users; using BlueWest.Data.Auth; using BlueWest.Data.Auth.Context.Users; using BlueWest.Domain; -using BlueWest.WebApi.Configuration; +using BlueWest.Views.Utils; using BlueWest.WebApi.Context.Users; using Microsoft.AspNetCore.Authentication.Cookies; using Microsoft.AspNetCore.Authentication.JwtBearer; @@ -17,142 +17,127 @@ namespace BlueWest.Views; public static class StartupExtensions { - private static MySqlServerVersion GetMySqlServerVersion(int major, int minor, int build) => new (new Version(major, minor, build)); + private static MySqlServerVersion GetMySqlServerVersion(int major, int minor, int build) => + new(new Version(major, minor, build)); - - private static BlueWestConnectionString GetConnectionString(this IConfigurationRoot configurationRoot) + private static string GetConnectionString(this IConfiguration configurationRoot, string db) { - // Docker / No-Docker var startupMode = configurationRoot["mode"]; - - if (startupMode == "docker") + + if (!string.IsNullOrEmpty(startupMode) && startupMode == "docker") { - var config = configurationRoot.Get(); + var config = configurationRoot.GetSection("ConnectionStringDocker")[db]; return config; } else { - var config = configurationRoot.Get(); - return config; + return configurationRoot.GetSection("ConnectionStringNoDocker")[db] ?? string.Empty; } - - return null; } - internal static IServiceCollection AddAuthServerServices(this IServiceCollection services, IConfiguration configuration , IWebHostEnvironment environment, IConfigurationRoot configurationRoot) + + + private static bool IsDockerMode(this IConfiguration config) + { + var startupMode = config["mode"]; + return startupMode == "docker"; + } + + internal static IServiceCollection AddAuthServerServices(this IServiceCollection services, + IConfiguration configuration, IWebHostEnvironment environment) + { + var connectionString = configuration.GetConnectionString("Redis"); + + if (string.IsNullOrEmpty(connectionString)) { + throw new InvalidOperationException("Redis connection string is empty"); + } + + + services.AddSession(options => + { + options.Cookie.Domain = SessionConstants.CookieDomain; + options.Cookie.HttpOnly = true; + options.IdleTimeout = TimeSpan.FromHours(8); + }); - var connectionString = configurationRoot.GetConnectionString(); + services + .AddSingleton(new RedisConnectionProvider(connectionString)) + .AddScoped() + .AddScoped() + .AddHostedService() + .AddSingleton() + .AddScoped() + .AddScoped() + .AddScoped() + .AddScoped(); - if (connectionString == null) + // Database Context and Swagger + + + // Register the ConfigurationBuilder instance of AuthSettings + var authSettings = configuration.GetSection(nameof(AuthSettings)); + services.Configure(authSettings); + var signingKey = new SymmetricSecurityKey + (Encoding.ASCII.GetBytes(authSettings[nameof(AuthSettings.SecretKey)])); + + // jwt wire up + // Get options from app settings + var jwtAppSettingOptions = configuration + .GetSection(nameof(JwtIssuerOptions)); + + // Configure JwtIssuerOptions + services.Configure(options => + { + options.Issuer = jwtAppSettingOptions[nameof(JwtIssuerOptions.Issuer)]; + options.Audience = jwtAppSettingOptions[nameof(JwtIssuerOptions.Audience)]; + options.SigningCredentials = new SigningCredentials + (signingKey, SecurityAlgorithms.HmacSha256); + }); + + var tokenValidationParameters = new TokenValidationParameters + { + ValidateIssuer = true, + ValidIssuer = jwtAppSettingOptions[nameof(JwtIssuerOptions.Issuer)], + + ValidateAudience = true, + ValidAudience = jwtAppSettingOptions[nameof(JwtIssuerOptions.Audience)], + + ValidateIssuerSigningKey = true, + IssuerSigningKey = signingKey, + + RequireExpirationTime = false, + ValidateLifetime = true, + ClockSkew = TimeSpan.Zero + }; + + services.AddAuthentication(options => { - throw new InvalidOperationException("Redis connection string is empty"); - } - - services.AddDistributedRedisCache(options => + options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme; + options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; + options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme; + options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; + options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme; + }) + .AddCookie(options => { - options.Configuration = connectionString.Redis; - + options.LoginPath = Routes.AuthLoginRoute; + options.LogoutPath = Routes.AuthLogoutRoute; }); - services - .AddSingleton(new RedisConnectionProvider(connectionString.Redis)) - .AddScoped() - .AddScoped() - .AddHostedService() - .AddSingleton() - .AddScoped() - .AddScoped() - .AddScoped() - .AddScoped(); - - // Database Context and Swagger + // api user claim policy + services.AddAuthorization(options => + { + options.AddPolicy(SessionConstants.ApiNamePolicy, + policy => policy.RequireClaim(Data.Auth.Context.Users.Constants.JwtClaimIdentifiers.Rol, + Data.Auth.Context.Users.Constants.JwtClaims.ApiAccess)); + }); - // Register the ConfigurationBuilder instance of AuthSettings - var authSettings = configuration.GetSection(nameof(AuthSettings)); - services.Configure(authSettings); - var signingKey = new SymmetricSecurityKey - (Encoding.ASCII.GetBytes(authSettings[nameof(AuthSettings.SecretKey)])); - - // jwt wire up - // Get options from app settings - var jwtAppSettingOptions = configuration - .GetSection(nameof(JwtIssuerOptions)); - - // Configure JwtIssuerOptions - services.Configure(options => - { - options.Issuer = jwtAppSettingOptions[nameof(JwtIssuerOptions.Issuer)]; - options.Audience = jwtAppSettingOptions[nameof(JwtIssuerOptions.Audience)]; - options.SigningCredentials = new SigningCredentials - (signingKey, SecurityAlgorithms.HmacSha256); - }); - - var tokenValidationParameters = new TokenValidationParameters - { - ValidateIssuer = true, - ValidIssuer = jwtAppSettingOptions[nameof(JwtIssuerOptions.Issuer)], - - ValidateAudience = true, - ValidAudience = jwtAppSettingOptions[nameof(JwtIssuerOptions.Audience)], - - ValidateIssuerSigningKey = true, - IssuerSigningKey = signingKey, - - RequireExpirationTime = false, - ValidateLifetime = true, - ClockSkew = TimeSpan.Zero - }; - - services.AddAuthentication(options => - { - - options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; - options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; - options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme; - options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; - options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme; - }) - .AddCookie(options => - { - options.LoginPath = "/"; - options.LogoutPath = "/logout"; - }) - .AddJwtBearer(configureOptions => - { - configureOptions.ClaimsIssuer = jwtAppSettingOptions[nameof(JwtIssuerOptions.Issuer)]; - configureOptions.TokenValidationParameters = tokenValidationParameters; - configureOptions.SaveToken = true; - - configureOptions.Events = new JwtBearerEvents - { - OnAuthenticationFailed = context => - { - if (context.Exception.GetType() == typeof(SecurityTokenExpiredException)) - { - context.Response.Headers.Add("Token-Expired", "true"); - } - - return Task.CompletedTask; - }, - }; - }); - - - // api user claim policy - services.AddAuthorization(options => - { - options.AddPolicy(SessionConstants.ApiNamePolicy, - policy => policy.RequireClaim(Data.Auth.Context.Users.Constants.JwtClaimIdentifiers.Rol, - Data.Auth.Context.Users.Constants.JwtClaims.ApiAccess)); - - }); - - // add identity - var identityBuilder = services.AddIdentityCore(o => + // add identity + var identityBuilder = services.AddIdentityCore(o => { o.User.RequireUniqueEmail = true; - + // configure identity options o.Password.RequireDigit = false; o.Password.RequireLowercase = false; @@ -160,87 +145,82 @@ public static class StartupExtensions o.Password.RequireNonAlphanumeric = false; o.Password.RequiredLength = 6; }) - .AddUserManager() - .AddUserStore(); + .AddUserManager() + .AddUserStore(); - identityBuilder = new IdentityBuilder(identityBuilder.UserType, typeof(ApplicationRole), identityBuilder.Services); - identityBuilder - .AddEntityFrameworkStores() - .AddDefaultTokenProviders(); + identityBuilder = + new IdentityBuilder(identityBuilder.UserType, typeof(ApplicationRole), identityBuilder.Services); + identityBuilder + .AddEntityFrameworkStores() + .AddDefaultTokenProviders(); - return services; + return services; + } + + + /// + /// Get MYSQL Connection String + /// + /// + /// + /// + private static DbContextOptionsBuilder GetMySqlSettings( + this DbContextOptionsBuilder optionsBuilder, + IConfiguration configuration, + IWebHostEnvironment environment) + { + var sqlVersion = GetMySqlServerVersion(8, 0, 11); + + // Docker / No-Docker + + + var mySqlConnectionString = configuration.GetConnectionString("MySQL"); + + if (mySqlConnectionString == string.Empty) + { + throw new InvalidOperationException("MySQL Connection string appears to be empty."); } - - /// - /// Get MYSQL Connection String - /// - /// - /// - /// - private static DbContextOptionsBuilder GetMySqlSettings( - this DbContextOptionsBuilder optionsBuilder, - IConfiguration configuration, - IConfigurationRoot configurationRoot, - IWebHostEnvironment environment) - { - var sqlVersion = GetMySqlServerVersion(8, 0, 11); - - // Docker / No-Docker - - string mySqlConnectionString = configurationRoot.GetConnectionString().MySql; - - if (mySqlConnectionString == string.Empty) - { - throw new InvalidOperationException("Fatal error: MySQL Connection string is empty."); - } - + optionsBuilder + .UseMySql( + mySqlConnectionString, + sqlVersion) + .UseMySql(sqlVersion, + builder => { builder.EnableRetryOnFailure(6, TimeSpan.FromSeconds(3), null); }); - optionsBuilder - .UseMySql( - mySqlConnectionString, - sqlVersion) - .UseMySql(sqlVersion, - builder => - { - builder.EnableRetryOnFailure(6, TimeSpan.FromSeconds(3), null); - }); - - // The following three options help with debugging, but should - // be changed or removed for production. - if (environment.IsDevelopment()) - { - optionsBuilder - .LogTo(Console.WriteLine, LogLevel.Information) - .EnableSensitiveDataLogging() - .EnableDetailedErrors(); - } - - return optionsBuilder; - } - - /// - /// Setup database Contexts - /// - /// - /// - /// - /// - public static IServiceCollection PrepareMySqlDatabasePool(this IServiceCollection serviceCollection, - IConfiguration configuration, IWebHostEnvironment environment, IConfigurationRoot configurationRoot) - { - return serviceCollection - .AddDbContextPool(options => - options.GetMySqlSettings(configuration, configurationRoot, environment)) - .AddDbContextPool(options => - options.GetMySqlSettings(configuration, configurationRoot, environment)) - .AddDbContextPool(options => - options.GetMySqlSettings(configuration, configurationRoot, environment)) - .AddDbContextPool(options => - options.GetMySqlSettings(configuration, configurationRoot, environment)) - .AddDbContextPool(options => - options.GetMySqlSettings(configuration, configurationRoot, environment)); - } + // The following three options help with debugging, but should + // be changed or removed for production. + if (environment.IsDevelopment()) + { + optionsBuilder + .LogTo(Console.WriteLine, LogLevel.Information) + .EnableSensitiveDataLogging() + .EnableDetailedErrors(); + } + return optionsBuilder; + } + /// + /// Setup database Contexts + /// + /// + /// + /// + /// + public static IServiceCollection PrepareMySqlDatabasePool(this IServiceCollection serviceCollection, + IConfiguration configuration, IWebHostEnvironment environment) + { + return serviceCollection + .AddDbContextPool(options => + options.GetMySqlSettings(configuration, environment)) + .AddDbContextPool(options => + options.GetMySqlSettings(configuration, environment)) + .AddDbContextPool(options => + options.GetMySqlSettings(configuration, environment)) + .AddDbContextPool(options => + options.GetMySqlSettings(configuration, environment)) + .AddDbContextPool(options => + options.GetMySqlSettings(configuration, environment)); + } } \ No newline at end of file diff --git a/BlueWest.Views/Utils/ControllerExtensions.cs b/BlueWest.Views/Utils/ControllerExtensions.cs deleted file mode 100644 index 7ed48f8..0000000 --- a/BlueWest.Views/Utils/ControllerExtensions.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Microsoft.AspNetCore.Localization; -using Microsoft.AspNetCore.Mvc; - -namespace BlueWest.Views.Utils; - -public static class ControllerExtensions -{ - public static void HandleGlobalization(this Controller controller) - { - var context = controller.HttpContext; - var requestCultureFeature = context.Features.Get(); - var currentCultureName = Routes.DefaultCultureName; - if (requestCultureFeature != null) - { - currentCultureName = requestCultureFeature.RequestCulture.Culture.Name; - } - - controller.ViewData[LanguageViewStorage] = currentCultureName; - } - - public static void HandlePageName(this Controller controller, string location) - { - - } - - -} \ No newline at end of file diff --git a/BlueWest.Views/Utils/DataUtil.cs b/BlueWest.Views/Utils/DataUtil.cs new file mode 100644 index 0000000..56c0097 --- /dev/null +++ b/BlueWest.Views/Utils/DataUtil.cs @@ -0,0 +1,34 @@ +using BlueWest.Data.Application.Users; +using BlueWest.Data.Auth; +using BlueWest.Views.Models; +using Microsoft.AspNetCore.Mvc.ViewFeatures; + +namespace BlueWest.Views.Utils; + +public static class DataUtil +{ + public static ApplicationUserUnique GetUserViewData(this ViewDataDictionary viewData) + { + if (viewData[UserViewDataId] is ApplicationUserUnique user) + { + return user; + } + + return null!; + } + + public static IpInformation GetIpInformation(this ViewDataDictionary viewData) + { + if (viewData[IpViewStorage] is IpInformation ipInformation) + { + return ipInformation; + } + + return null!; + } + + public static string GetRootUrl(this ViewDataDictionary viewData) + { + return SessionConstants.CookieDomain; + } +} \ No newline at end of file diff --git a/BlueWest.Views/Utils/LayoutCache.cs b/BlueWest.Views/Utils/LayoutCache.cs index 32ad35a..8cf0b4b 100644 --- a/BlueWest.Views/Utils/LayoutCache.cs +++ b/BlueWest.Views/Utils/LayoutCache.cs @@ -1,5 +1,7 @@ +using System.Diagnostics; using BlueWest.Views.Controllers; using BlueWest.Views.Controllers.Data; +using BlueWest.Views.Languages; using Microsoft.AspNetCore.Mvc.ViewFeatures; namespace BlueWest.Views.Utils; @@ -8,6 +10,12 @@ internal class LayoutCache { #region Route Tree + private static readonly RouteRecord NonLoggedInRoot = new RouteRecord( + AuthLoginRoute, + AuthLoginKeyName, + nameof(AuthController), new List()); + + private static readonly RouteRecord Root = new RouteRecord( RootKeyName, RootLocation, @@ -82,11 +90,14 @@ internal class LayoutCache ViewType.System ), new RouteRecord( - JobsKeyName, - JobsRouteLocation, - nameof(JobsController), - new List(), - ViewType.Jobs + AccountKeyName, + AccountRouteLocation, + nameof(AccountController), + new List() + { + new RouteRecord(ChangePasswordKeyName, ChangePasswordRouteLocation, nameof(AccountController), new List()) + }, + ViewType.Account ), }, ViewType.Root); @@ -97,14 +108,11 @@ internal class LayoutCache internal static readonly RouteRecord SystemRoute = Root.Children.FirstOrDefault(x => x.ViewType == ViewType.System)!; - internal static readonly RouteRecord DataRoute = + internal static readonly RouteRecord DataRouteRecord = Root.Children.FirstOrDefault(x => x.ViewType == ViewType.Data)!; - internal static readonly RouteRecord JobRoute = - Root.Children.FirstOrDefault(x => x.ViewType == ViewType.Jobs)!; - - internal static readonly RouteRecord ProfileRoute = - Root.Children.FirstOrDefault(x => x.ViewType == ViewType.Profile)!; + internal static readonly RouteRecord AccountRouteRecord = + Root.Children.FirstOrDefault(x => x.ViewType == ViewType.Account)!; #endregion Routing Utils @@ -112,13 +120,13 @@ internal class LayoutCache internal static List GetDefaultFooterMenu(ViewDataDictionary dictionary) { - var location = GetLocation(dictionary); + var location = GetUserLanguage(dictionary); var menu = LayoutCache .Root .Children; - if (dictionary[FooterMenuId] is List footerMenu) + if (dictionary[FooterMenuViewDataId] is List footerMenu) { menu = footerMenu; } @@ -126,12 +134,12 @@ internal class LayoutCache return menu .Select(x => { - if (Translation[x.routeKey].ContainsKey(location)) + if (SiteContent.RouteTitle[x.routeKey].ContainsKey(location)) { - return new RouteView(Translation[x.routeKey][location], + return new RouteView(SiteContent.RouteTitle[x.routeKey][location], location); } - return new RouteView(Translation[x.routeKey][DefaultCultureName], + return new RouteView(SiteContent.RouteTitle[x.routeKey][DefaultCultureName], x.location); }) @@ -140,9 +148,16 @@ internal class LayoutCache } - internal static List GetDefaultHeaderMenu(ViewDataDictionary dictionary) + internal static List GetDefaultHeaderMenu(ViewDataDictionary dictionary, bool userAuthenticated = false) { - var location = GetLocation(dictionary); + if (!userAuthenticated) + { + var menuToShow = new List(); + menuToShow.Add(new RouteView("Blue West", "/")); + return menuToShow; + } + + var location = GetUserLanguage(dictionary); var menu = LayoutCache .Root @@ -156,20 +171,27 @@ internal class LayoutCache return menu .Select(x => { - if (Translation[x.routeKey].ContainsKey(location)) + if (SiteContent.RouteTitle[x.routeKey].ContainsKey(location)) { - return new RouteView(Translation[x.routeKey][location], + return new RouteView(SiteContent.RouteTitle[x.routeKey][location], x.Location); } - return new RouteView(Translation[x.routeKey][DefaultCultureName], + return new RouteView(SiteContent.RouteTitle[x.routeKey][DefaultCultureName], x.location); }) .ToList(); } - - internal static string GetLocation(ViewDataDictionary dictionary) + + + [Conditional("DEBUG")] + internal static void IsDevMode(ref bool isDebug) + { + isDebug = true; + } + + internal static string GetUserLanguage(ViewDataDictionary dictionary) { return (dictionary[LanguageViewStorage] as string)!; } diff --git a/BlueWest.Views/Utils/Routes.cs b/BlueWest.Views/Utils/Routes.cs index 5bcbe8d..211ec24 100644 --- a/BlueWest.Views/Utils/Routes.cs +++ b/BlueWest.Views/Utils/Routes.cs @@ -6,185 +6,87 @@ namespace BlueWest.Views.Utils { public const string DefaultCultureName = "en-gb"; - #region Layout Keys + #region View Data Keys - internal const string FooterMenuId = "m1"; + internal const string FooterMenuViewDataId = "m1"; + internal const string UserViewDataId = "uvd"; internal const string HeaderMenuId = "m2"; - internal const string LanguageViewStorage = "i80"; + internal const string LanguageViewStorage = "i81"; + internal const string IpViewStorage = "ip"; + internal const string AgentViewStorage = "ag2"; - #endregion Layout Keys + + #endregion View Data Keys - #region Route Keys - - internal const string DataKeyName = "data"; + internal const string RootKeyName = "root"; internal const string RootLocation = "/"; - internal const string SystemKeyName = "system"; + + + internal const string RootAuthRoute = "/auth"; + internal const string RootAuthKeyName = "auth"; + + internal const string AuthLoginRoute = $"{RootAuthRoute}/login"; + internal const string AuthLoginKeyName = "login"; + + internal const string AuthSignupRoute = $"{RootAuthRoute}/signup"; + internal const string AuthSignupKeyName = "signup"; + + + internal const string RolesLocation = $"{SystemRouteLocation}/roles"; internal const string RolesKeyName = "roles"; - internal const string CompaniesKeyName = "companies"; - internal const string CountriesKeyName = "countries"; - internal const string CurrenciesKeyName = "currencies"; - internal const string IndustriesKeyName = "industries"; - internal const string DataUsersKeyName = "users"; - internal const string BanksKeyName = "banks"; - internal const string JobsKeyName = "jobs"; - internal const string SettingsKeyName = "settings"; - internal const string LogsKeyName = "logs"; + + internal const string ApplicationUsersLocation = $"{SystemRouteLocation}/users"; internal const string ApplicationUsersKeyName = "app_users"; - #endregion Route Keys - // Translation Database Keys - - #region Routes Data - - // Routes - internal const string RolesLocation = $"{SystemRouteLocation}/roles"; - internal const string ApplicationUsersLocation = $"{SystemRouteLocation}/users"; internal const string LogsLocation = $"{SystemRouteLocation}/logs"; + internal const string LogsKeyName = "logs"; + internal const string SettingsRouteLocation = $"{SystemRouteLocation}/settings"; + internal const string SettingsKeyName = "settings"; + internal const string DataLocation = $"/data"; + internal const string DataKeyName = "data"; - // Banks - - // Data users internal const string DataUsersLocation = "/data/users"; - internal const string JobsRouteLocation = "/jobs"; + internal const string DataUsersKeyName = "users"; + internal const string SystemRouteLocation = $"/system"; + internal const string SystemKeyName = "system"; + + internal const string BanksKeyName = "banks"; internal const string BanksLocation = $"{DataLocation}/banks"; + internal const string CountriesLocation = $"{DataLocation}/countries"; + internal const string CountriesKeyName = "countries"; + internal const string CurrenciesLocation = $"{DataLocation}/currencies"; + internal const string CurrenciesKeyName = "currencies"; - internal const string CompaniesLocation = $"{DataLocation}/companies"; + internal const string IndustriesKeyName = "industries"; internal const string IndustriesLocation = $"{DataLocation}/industries"; + + internal const string CompaniesLocation = $"{DataLocation}/companies"; + internal const string CompaniesKeyName = "companies"; + + // Jobs + internal const string Curriculums = "curriculums"; + internal const string Proposals = "proposals"; + internal const string Offers = "offers"; + internal const string Processes = "processes"; + internal const string AuthLogoutRoute = "/auth/logout"; + + // Account + internal const string AccountRouteLocation = "/account"; + internal const string AccountKeyName = "profile"; + internal const string ChangePasswordKeyName = "changepwd"; + internal const string ChangePasswordRouteLocation = $"{AccountRouteLocation}/change"; - #endregion Routes Data - - internal static Dictionary> Translation = - new Dictionary> - { - { - RootKeyName, new Dictionary() - { - {"pt", "Inicio"}, - {"eng", "Home"}, - {"en-gb", "Home"} - } - }, - { - SystemKeyName, new Dictionary() - { - {"pt", "Sistema"}, - {"eng", "System"}, - {"en-gb", "System"}, - } - }, - { - DataKeyName, new Dictionary() - { - {"pt", "Dados"}, - {"eng", "Data"}, - {"en-gb", "Data"} - } - }, - - { - RolesKeyName, new Dictionary() - { - {"pt", "Tipos de Utilizador"}, - {"en-gb", "Roles"}, - {"eng", "Roles"} - } - }, - { - ApplicationUsersKeyName, new Dictionary() - { - {"pt", "Utilizadores da Aplicação"}, - {"en-gb", "Users"}, - {"eng", "Users"} - } - }, - { - LogsKeyName, new Dictionary() - { - {"pt", "Logs"}, - {"en-gb", "logs"}, - {"eng", "logs"} - } - }, - { - SettingsKeyName, new Dictionary() - { - {"pt", "Personalização"}, - {"eng", "Settings"}, - {"en-gb", "Settings"}, - } - }, - { - CompaniesKeyName, new Dictionary() - { - {"pt", "Empresas"}, - {"eng", "Companies"}, - {"en-gb", "Companies"}, - } - }, - - { - IndustriesKeyName, new Dictionary() - { - {"pt", "Indústrias"}, - {"en-gb", "Industries"}, - {"eng", "Industries"}, - } - }, - - { - CurrenciesKeyName, new Dictionary() - { - {"pt", "Moedas"}, - {"en-gb", "Currencies"}, - {"eng", "Currencies"}, - } - }, - { - CountriesKeyName, new Dictionary() - { - {"pt", "Países"}, - {"eng", "Countries"}, - {"en-gb", "Countries"} - } - }, - - { - BanksKeyName, new Dictionary() - { - {"pt", "Bancos"}, - {"eng", "Banks"}, - {"en-gb", "Banks"}, - } - }, - - - { - DataUsersKeyName, new Dictionary() - { - {"pt", "Utilizadores"}, - {"eng", "Users"}, - {"en-gb", "Users"}, - } - }, - - { - JobsKeyName, new Dictionary() - { - {"pt", "Anúncios de trabalho"}, - {"eng", "Jobs"}, - {"en-gb", "Jobs"}, - } - }, - }; + + } } \ No newline at end of file diff --git a/BlueWest.Views/Utils/ViewType.cs b/BlueWest.Views/Utils/ViewType.cs index 9792d33..41eb16e 100644 --- a/BlueWest.Views/Utils/ViewType.cs +++ b/BlueWest.Views/Utils/ViewType.cs @@ -6,8 +6,7 @@ namespace BlueWest.Views { System, Data, - Jobs, - Profile, + Account, Root, Undefined diff --git a/BlueWest.Views/Views/Account/ChangePassword.cshtml b/BlueWest.Views/Views/Account/ChangePassword.cshtml new file mode 100644 index 0000000..f445275 --- /dev/null +++ b/BlueWest.Views/Views/Account/ChangePassword.cshtml @@ -0,0 +1,111 @@ +@using BlueWest.Views.Utils +@model BlueWest.Data.Application.Users.ApplicationUserUnique +@{ + var user = @Model; +} + +
+
+ + + + + + +
+ + +
+
+
+ + +@await Html.PartialAsync("_FooterMenu") \ No newline at end of file diff --git a/BlueWest.Views/Views/Account/Curriculums/Index.cshtml b/BlueWest.Views/Views/Account/Curriculums/Index.cshtml new file mode 100644 index 0000000..ab78453 --- /dev/null +++ b/BlueWest.Views/Views/Account/Curriculums/Index.cshtml @@ -0,0 +1,10 @@ +@{ + ViewData["Title"] = "Home Page"; +} + +
+

Curriculums Module

+
+ + +@Html.Partial("_FooterMenu"); \ No newline at end of file diff --git a/BlueWest.Views/Views/Account/Curriculums/Upload.cshtml b/BlueWest.Views/Views/Account/Curriculums/Upload.cshtml new file mode 100644 index 0000000..e69de29 diff --git a/BlueWest.Views/Views/Account/Index.cshtml b/BlueWest.Views/Views/Account/Index.cshtml new file mode 100644 index 0000000..f445275 --- /dev/null +++ b/BlueWest.Views/Views/Account/Index.cshtml @@ -0,0 +1,111 @@ +@using BlueWest.Views.Utils +@model BlueWest.Data.Application.Users.ApplicationUserUnique +@{ + var user = @Model; +} + +
+
+ + + + + + +
+ + +
+
+
+ + +@await Html.PartialAsync("_FooterMenu") \ No newline at end of file diff --git a/BlueWest.Views/Views/Auth/Index.cshtml b/BlueWest.Views/Views/Auth/Index.cshtml index 1ef105b..7bdba35 100644 --- a/BlueWest.Views/Views/Auth/Index.cshtml +++ b/BlueWest.Views/Views/Auth/Index.cshtml @@ -2,5 +2,4 @@ @using (Html.BeginForm()){ @Html.LabelFor(x => x.Password, "Password") @Html.PasswordFor(x => x.Password); - @Html.NameFor(x => x.Email); } \ No newline at end of file diff --git a/BlueWest.Views/Views/Auth/Login.cshtml b/BlueWest.Views/Views/Auth/Login.cshtml new file mode 100644 index 0000000..538fa55 --- /dev/null +++ b/BlueWest.Views/Views/Auth/Login.cshtml @@ -0,0 +1,68 @@ +
+
+
+
+
+ +
/
+
+ Login +
+
+
+
+
+
+
+
+ + +
+ + +
+
+
+
+
\ No newline at end of file diff --git a/BlueWest.Views/Views/Auth/Signup.cshtml b/BlueWest.Views/Views/Auth/Signup.cshtml new file mode 100644 index 0000000..88ad010 --- /dev/null +++ b/BlueWest.Views/Views/Auth/Signup.cshtml @@ -0,0 +1,117 @@ +
+
+
+
+
+ +
/
+
+ Login +
+
+
+
+
+
+
+
+ + + + + + + + + +
+ + +
+
+
+
+
\ No newline at end of file diff --git a/BlueWest.Views/Views/Data/Banks/Index.cshtml b/BlueWest.Views/Views/Data/Banks/Index.cshtml new file mode 100644 index 0000000..3c450c5 --- /dev/null +++ b/BlueWest.Views/Views/Data/Banks/Index.cshtml @@ -0,0 +1,6 @@ +
+

Banks

+
+ + +@await Html.PartialAsync("_FooterMenu"); diff --git a/BlueWest.Views/Views/Data/Companies/Index.cshtml b/BlueWest.Views/Views/Data/Companies/Index.cshtml index 7ab5168..c22fd68 100644 --- a/BlueWest.Views/Views/Data/Companies/Index.cshtml +++ b/BlueWest.Views/Views/Data/Companies/Index.cshtml @@ -1,11 +1,6 @@ -@using BlueWest.Views.Utils -@{ - ViewData["Title"] = "Home Page"; -} -

Companies Module

-@Html.Partial("_FooterMenu"); \ No newline at end of file +@await Html.PartialAsync("_FooterMenu"); diff --git a/BlueWest.Views/Views/Data/Countries/Index.cshtml b/BlueWest.Views/Views/Data/Countries/Index.cshtml index 9cadfef..1ab7024 100644 --- a/BlueWest.Views/Views/Data/Countries/Index.cshtml +++ b/BlueWest.Views/Views/Data/Countries/Index.cshtml @@ -1,11 +1,6 @@ -@using BlueWest.Views.Utils -@{ - ViewData["Title"] = "Home Page"; -} -

Data Module

-@Html.Partial("_FooterMenu"); \ No newline at end of file +@await Html.PartialAsync("_FooterMenu"); diff --git a/BlueWest.Views/Views/Data/Currencies/Index.cshtml b/BlueWest.Views/Views/Data/Currencies/Index.cshtml new file mode 100644 index 0000000..eccaef4 --- /dev/null +++ b/BlueWest.Views/Views/Data/Currencies/Index.cshtml @@ -0,0 +1,11 @@ +@using BlueWest.Views.Utils +@{ + ViewData["Title"] = "Home Page"; +} + +
+

Currencies Module

+
+ + +@await Html.PartialAsync("_FooterMenu"); diff --git a/BlueWest.Views/Views/Data/Index.cshtml b/BlueWest.Views/Views/Data/Index.cshtml index 9cadfef..464cc68 100644 --- a/BlueWest.Views/Views/Data/Index.cshtml +++ b/BlueWest.Views/Views/Data/Index.cshtml @@ -1,11 +1,7 @@ -@using BlueWest.Views.Utils -@{ - ViewData["Title"] = "Home Page"; -}

Data Module

-@Html.Partial("_FooterMenu"); \ No newline at end of file +@await Html.PartialAsync("_FooterMenu"); diff --git a/BlueWest.Views/Views/Home/Index.cshtml b/BlueWest.Views/Views/Home/Index.cshtml index 9ff16ec..d8ed2b8 100644 --- a/BlueWest.Views/Views/Home/Index.cshtml +++ b/BlueWest.Views/Views/Home/Index.cshtml @@ -1,14 +1,5 @@ -@using Microsoft.AspNetCore.Localization -@{ - ViewData["Title"] = "Home Page"; - -} - - -
+

Welcome

-

Learn about building Web apps with ASP.NET Core.

- diff --git a/BlueWest.Views/Views/Home/Login.cshtml b/BlueWest.Views/Views/Home/Login.cshtml new file mode 100644 index 0000000..aa356e2 --- /dev/null +++ b/BlueWest.Views/Views/Home/Login.cshtml @@ -0,0 +1,11 @@ +@using BlueWest.Views.Utils +@{ + ViewData["Title"] = "Home Page"; +} + +
+

Login Module

+
+ + +@Html.Partial("_FooterMenu"); \ No newline at end of file diff --git a/BlueWest.Views/Views/Jobs/Index.cshtml b/BlueWest.Views/Views/Jobs/Index.cshtml deleted file mode 100644 index 479cee9..0000000 --- a/BlueWest.Views/Views/Jobs/Index.cshtml +++ /dev/null @@ -1,10 +0,0 @@ -@{ - ViewData["Title"] = "Home Page"; -} - -
-

Jobs Module

-
- - -@Html.Partial("_FooterMenu"); \ No newline at end of file diff --git a/BlueWest.Views/Views/Shared/UsersMenu.cshtml b/BlueWest.Views/Views/Shared/UsersMenu.cshtml deleted file mode 100644 index d223537..0000000 --- a/BlueWest.Views/Views/Shared/UsersMenu.cshtml +++ /dev/null @@ -1,59 +0,0 @@ - \ No newline at end of file diff --git a/BlueWest.Views/Views/Shared/_FooterMenu.cshtml b/BlueWest.Views/Views/Shared/_FooterMenu.cshtml index 38340e1..87efe33 100644 --- a/BlueWest.Views/Views/Shared/_FooterMenu.cshtml +++ b/BlueWest.Views/Views/Shared/_FooterMenu.cshtml @@ -4,28 +4,33 @@ var menu = LayoutCache.GetDefaultFooterMenu(ViewData); } - \ No newline at end of file + +} + diff --git a/BlueWest.Views/Views/Shared/_HeaderMenu.cshtml b/BlueWest.Views/Views/Shared/_HeaderMenu.cshtml index e3da6c8..3e3b69a 100644 --- a/BlueWest.Views/Views/Shared/_HeaderMenu.cshtml +++ b/BlueWest.Views/Views/Shared/_HeaderMenu.cshtml @@ -1,7 +1,13 @@ @using BlueWest.Views.Utils +@using Duende.IdentityServer.Extensions +@using BlueWest.Data.Auth @{ Layout = null; - var menu = LayoutCache.GetDefaultHeaderMenu(ViewData); + var userAuthenticated = User.IsAuthenticated(); + var menu = LayoutCache.GetDefaultHeaderMenu(ViewData, userAuthenticated); + var user = ViewData.GetUserViewData(); + var rootUrl = SessionConstants.CookieDomain; + }
@@ -16,8 +22,21 @@
- } + } + } + @if (userAuthenticated && user != null) + { +
+
+
+
+ +
+
@user.Email +
+
} + \ No newline at end of file diff --git a/BlueWest.Views/Views/Shared/_Layout.cshtml b/BlueWest.Views/Views/Shared/_Layout.cshtml index 11d3916..198e7d6 100644 --- a/BlueWest.Views/Views/Shared/_Layout.cshtml +++ b/BlueWest.Views/Views/Shared/_Layout.cshtml @@ -1,33 +1,36 @@ - +@using BlueWest.Views.Utils +@using BlueWest.Data.Auth +@{ + var applicationUser = ViewData.GetUserViewData(); + var rootUrl = SessionConstants.CookieDomain; +} +@ViewData["Title"] - BlueWest.Views - + @* *@ - - + +
- @RenderBody() -
-
- @await Html.PartialAsync("_HeaderMenu") + @await Html.PartialAsync("_HeaderMenu", applicationUser)
diff --git a/BlueWest.Views/Views/System/Index.cshtml b/BlueWest.Views/Views/System/Index.cshtml index bf4c02d..284927c 100644 --- a/BlueWest.Views/Views/System/Index.cshtml +++ b/BlueWest.Views/Views/System/Index.cshtml @@ -1,8 +1,3 @@ -@using BlueWest.Views.Utils -@{ - ViewData["Title"] = "Home Page"; -} -

System Module

diff --git a/BlueWest.Views/Views/System/Logs.cshtml b/BlueWest.Views/Views/System/Logs.cshtml new file mode 100644 index 0000000..0f36fec --- /dev/null +++ b/BlueWest.Views/Views/System/Logs.cshtml @@ -0,0 +1,5 @@ +
+

Users

+
+ +@await Html.PartialAsync("_FooterMenu"); diff --git a/BlueWest.Views/Views/System/Roles/Index.cshtml b/BlueWest.Views/Views/System/Roles/Index.cshtml index e69de29..2288d36 100644 --- a/BlueWest.Views/Views/System/Roles/Index.cshtml +++ b/BlueWest.Views/Views/System/Roles/Index.cshtml @@ -0,0 +1,6 @@ +
+

Roles Module

+
+ + +@await Html.PartialAsync("_FooterMenu"); \ No newline at end of file diff --git a/BlueWest.Views/Views/System/Users.cshtml b/BlueWest.Views/Views/System/Users.cshtml index 3ddff00..dbc9982 100644 --- a/BlueWest.Views/Views/System/Users.cshtml +++ b/BlueWest.Views/Views/System/Users.cshtml @@ -1,10 +1,7 @@ -@{ - ViewData["Title"] = "Home Page"; -} -@Html.Partial("~/Views/Shared/UsersMenu.cshtml"); + +@await Html.PartialAsync("_FooterMenu"); diff --git a/BlueWest.Views/appsettings.json b/BlueWest.Views/appsettings.json index 0a4a6fc..849eca1 100644 --- a/BlueWest.Views/appsettings.json +++ b/BlueWest.Views/appsettings.json @@ -5,14 +5,15 @@ "Microsoft.AspNetCore": "Warning" } }, + "mode": "no-docker", "AllowedHosts": "*", "ConnectionStringDocker": { - "MySQL": "server=db;user=blueuser;password=dXjw127124dJ;database=bluedb;", - "Redis": "redis://redisinstance:6379" + "Redis": "redis://redisinstance:6379", + "MySQL": "server=db;user=blueuser;password=dXjw127124dJ;database=bluedb;" }, "ConnectionStringNoDocker": { - "MySQL": "server=localhost;user=blueuser;password=dXjw127124dJ;database=bluedb;", - "Redis": "redis://localhost:6379" + "Redis": "redis://localhost:6379", + "MySQL": "server=localhost;user=blueuser;password=dXjw127124dJ;database=bluedb;" }, "AuthSettings": { "SecretKey": "iJWHDmHLpUA283sqsfhqGbMRdRj1PVkH" diff --git a/BlueWest.Views/config.json b/BlueWest.Views/config.json deleted file mode 100644 index 4cf70fd..0000000 --- a/BlueWest.Views/config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "mode": "no-docker", - "database": "mysql" -} \ No newline at end of file diff --git a/BlueWest.Views/wwwroot/static/profile/boy-avatar.png b/BlueWest.Views/wwwroot/static/profile/boy-avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..b1711f62afae7e0ce07a5b318b9d0a08634a954d GIT binary patch literal 284453 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
y@70CNA*@LRDG@-R<^Eu?q@cRb3#3`mQ$C%1j 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 literal 0 HcmV?d00001 diff --git a/BlueWest.sln b/BlueWest.sln index 3ff5e0b..7b8caff 100644 --- a/BlueWest.sln +++ b/BlueWest.sln @@ -41,8 +41,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BlueWest.Views", "BlueWest. EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BlueWest.Domain", "BlueWest.Domain\BlueWest.Domain.csproj", "{1085FF6E-E568-441E-9A2D-23F50AB613AF}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BlueWest.Razor.Library", "BlueWest.Razor.Library\BlueWest.Razor.Library.csproj", "{CA6DF60F-B33E-4688-A4ED-4427B446E852}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BlueWest.Data.Auth", "BlueWest.Data.Auth\BlueWest.Data.Auth.csproj", "{2998FE17-18AD-4888-A696-7F6340F8A543}" EndProject Global @@ -95,10 +93,6 @@ Global {1085FF6E-E568-441E-9A2D-23F50AB613AF}.Debug|Any CPU.Build.0 = Debug|Any CPU {1085FF6E-E568-441E-9A2D-23F50AB613AF}.Release|Any CPU.ActiveCfg = Release|Any CPU {1085FF6E-E568-441E-9A2D-23F50AB613AF}.Release|Any CPU.Build.0 = Release|Any CPU - {CA6DF60F-B33E-4688-A4ED-4427B446E852}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CA6DF60F-B33E-4688-A4ED-4427B446E852}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CA6DF60F-B33E-4688-A4ED-4427B446E852}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CA6DF60F-B33E-4688-A4ED-4427B446E852}.Release|Any CPU.Build.0 = Release|Any CPU {2998FE17-18AD-4888-A696-7F6340F8A543}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2998FE17-18AD-4888-A696-7F6340F8A543}.Debug|Any CPU.Build.0 = Debug|Any CPU {2998FE17-18AD-4888-A696-7F6340F8A543}.Release|Any CPU.ActiveCfg = Release|Any CPU diff --git a/docker-compose.db.only.yml b/docker-compose.db.only.yml index ab740ff..e11e6dd 100644 --- a/docker-compose.db.only.yml +++ b/docker-compose.db.only.yml @@ -4,8 +4,8 @@ services: container_name: BW1_MYSQL image: mysql/mysql-server:8.0 environment: - MYSQL_ROOT_HOST: localhost - MYSQL_USER_HOST: localhost + MYSQL_ROOT_HOST: '172.19.0.1' + MYSQL_USER_HOST: '172.19.0.1' MYSQL_ROOT_PASSWORD: dXjw127124dJ MYSQL_USER: blueuser MYSQL_PASSWORD: dXjw127124dJ @@ -14,14 +14,6 @@ services: - "3306:3306" volumes: - ./docker-entrypoint-initdb.d/:/docker-entrypoint-initdb.d/ - phpmyadmin: - container_name: BW_PHPMYADMIN - image: phpmyadmin/phpmyadmin - ports: - - 80:80 - environment: - MYSQL_USERNAME: 'blueuser' - MYSQL_ROOT_PASSWORD: 'dXjw127124dJ' redis-instance: image: "redislabs/redismod" ports:
Date