Browse Source

Updated authentication

dev
Benjamin Arhen 1 year ago
parent
commit
d3e5d10e6b
  1. 1
      .gitignore
  2. 2
      Client/Elements/Headbar.razor
  3. 46
      Server/Services/AuthenticationService.cs

1
.gitignore

@ -363,3 +363,4 @@ MigrationBackup/
# Fody - auto-generated XML schema # Fody - auto-generated XML schema
FodyWeavers.xsd FodyWeavers.xsd
/Server/.config/dotnet-tools.json /Server/.config/dotnet-tools.json
/Server/.config/dotnet-tools.json

2
Client/Elements/Headbar.razor

@ -28,7 +28,7 @@
<div id="Profile" @onclick="@ToggleDropdown"> <div id="Profile" @onclick="@ToggleDropdown">
<i class="bx bxs-user fs-4 lh-0"></i> <i class="bx bxs-user fs-4 lh-0"></i>
<ul class=@m_dropDownClass style="width: 150px;"> <ul class=@m_dropDownClass style="width: 150px;right: 5px;">
<li><a href="#">Profile</a></li> <li><a href="#">Profile</a></li>
<li><a href="#">Account</a></li> <li><a href="#">Account</a></li>
<li><a href="#">Settings</a></li> <li><a href="#">Settings</a></li>

46
Server/Services/AuthenticationService.cs

@ -1,4 +1,5 @@
using Biskilog_Accounting.Shared.ClientContractModels; using BCrypt.Net;
using Biskilog_Accounting.Shared.ClientContractModels;
using Biskilog_Accounting.Shared.Enums; using Biskilog_Accounting.Shared.Enums;
using Biskilog_Accounting.Shared.Interfaces; using Biskilog_Accounting.Shared.Interfaces;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
@ -118,28 +119,33 @@ namespace Biskilog_Accounting.Server.Services
return m_context.Siteaccesspermissions.Where(t => t.ClientId == a_clientId && t.UserId == a_userId).ToList(); return m_context.Siteaccesspermissions.Where(t => t.ClientId == a_clientId && t.UserId == a_userId).ToList();
} }
private async Task<Userauth> GetUserAsync(string username, string password) private async Task<Userauth?> GetUserAsync(string username, string password)
{ {
//Todo have complete implementation after means of creating user is done //Todo have complete implementation after means of creating user is done
//try try
//{ {
// string pa = await m_context.Userauths.Where(u => u.Username == username).Select(u => u.Password).FirstAsync(); string? pa = await m_context.Userauths.Where(u => u.Username == username || u.Email == username).Select(u => u.Passsword).FirstOrDefaultAsync();
// bool verified = BCrypt.Net.BCrypt.Verify(password, pa);
// if (verified)
// {
//TODO have a complete implementation if (String.IsNullOrEmpty(pa))
return await m_context.Userauths.FirstAsync(u => u.Username == username && u.Passsword == password); {
// } return null;
// else }
// { bool verified = BCrypt.Net.BCrypt.Verify(password, pa);
// return null; if (verified)
// } {
//}catch(Exception ex)
//{ return await m_context.Userauths.FirstAsync(u => u.Username == username || u.Email == username);
// //possible is user not found }
// return null; else
//} {
return null;
}
}
catch (Exception ex)
{
//possible is user not found
return null;
}
} }
} }
} }

Loading…
Cancel
Save