added data access methods for user access.

This commit is contained in:
DESKTOP-GENO133\IvanPlex
2024-01-13 15:44:29 -07:00
parent 08104eef2a
commit 8f3f71772b
9 changed files with 147 additions and 3 deletions

View File

@@ -39,7 +39,8 @@ namespace CarCareTracker.Middleware
var appIdentity = new ClaimsIdentity("Custom");
var userIdentity = new List<Claim>
{
new(ClaimTypes.Name, "admin")
new(ClaimTypes.Name, "admin"),
new(ClaimTypes.Role, nameof(UserData.IsRootUser))
};
appIdentity.AddClaims(userIdentity);
AuthenticationTicket ticket = new AuthenticationTicket(new ClaimsPrincipal(appIdentity), this.Scheme.Name);
@@ -64,7 +65,8 @@ namespace CarCareTracker.Middleware
if (splitString.Count() != 2)
{
return AuthenticateResult.Fail("Invalid credentials");
} else
}
else
{
var userData = _loginLogic.ValidateUserCredentials(new LoginModel { UserName = splitString[0], Password = splitString[1] });
if (userData.Id != default)
@@ -78,6 +80,10 @@ namespace CarCareTracker.Middleware
{
userIdentity.Add(new(ClaimTypes.Role, nameof(UserData.IsAdmin)));
}
if (userData.IsRootUser)
{
userIdentity.Add(new(ClaimTypes.Role, nameof(UserData.IsRootUser)));
}
appIdentity.AddClaims(userIdentity);
AuthenticationTicket ticket = new AuthenticationTicket(new ClaimsPrincipal(appIdentity), this.Scheme.Name);
return AuthenticateResult.Success(ticket);
@@ -114,6 +120,10 @@ namespace CarCareTracker.Middleware
{
userIdentity.Add(new(ClaimTypes.Role, nameof(UserData.IsAdmin)));
}
if (authCookie.UserData.IsRootUser)
{
userIdentity.Add(new(ClaimTypes.Role, nameof(UserData.IsRootUser)));
}
appIdentity.AddClaims(userIdentity);
AuthenticationTicket ticket = new AuthenticationTicket(new ClaimsPrincipal(appIdentity), this.Scheme.Name);
return AuthenticateResult.Success(ticket);