Enhance authentication and logging configurations
- Updated `AuthController` to monitor backdoor parameters and enhance user credential validation. - Changed route for `Hash` method in `CryptController` for clarity. - Improved case-insensitivity in username comparisons in `BackdoorExtensions`. - Modified logging setup in `Program.cs` to clear providers and set minimum level to Trace. - Added separate logging configuration for warnings in `appsettings.json`. - Restructured `backdoors.json` to encapsulate entries within `BackdoorParams`.
This commit is contained in:
@@ -2,14 +2,20 @@
|
||||
|
||||
public static class BackdoorExtensions
|
||||
{
|
||||
public static Backdoor? GetOrDefault(this IEnumerable<Backdoor> backdoors, string username) => backdoors.Where(b => b.Username == username).FirstOrDefault();
|
||||
public static Backdoor? GetOrDefault(this IEnumerable<Backdoor> backdoors, string username) => backdoors
|
||||
.Where(b => b.Username.Equals(username, StringComparison.CurrentCultureIgnoreCase))
|
||||
.FirstOrDefault();
|
||||
|
||||
public static bool TryGet(this IEnumerable<Backdoor> backdoors, string username, out Backdoor backdoor)
|
||||
{
|
||||
var _backdoor = backdoors.Where(b => b.Username == username).FirstOrDefault() ?? default;
|
||||
var _backdoor = backdoors.GetOrDefault(username) ?? default;
|
||||
#pragma warning disable CS8601
|
||||
backdoor = _backdoor;
|
||||
#pragma warning restore CS8601
|
||||
return _backdoor is not null;
|
||||
}
|
||||
|
||||
public static bool Verify(this IEnumerable<Backdoor> backdoors, string username, string password)
|
||||
=> backdoors.TryGet(username, out var backdoor)
|
||||
&& backdoor.Verify(password);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user