Fixed Login. Users with State == 0 will not be authenticated

This commit is contained in:
KharchenkoVladimir 2021-10-21 17:24:25 +05:00
parent 16e17c0559
commit 9fea1c94a6
2 changed files with 5 additions and 9 deletions

View File

@ -45,7 +45,7 @@ namespace AsbCloudInfrastructure.Services
var identity = await GetClaimsUserAsync(login, password, token)
.ConfigureAwait(false);
if (identity == default)
if (identity == default || identity.User.State == 0)
return null;
return new UserTokenDto
@ -89,7 +89,8 @@ namespace AsbCloudInfrastructure.Services
var user = new User
{
IdCompany = userDto.IdCompany,
IdRole = userDto.IdRole,
IdRole = 2, // simple user
State = 0,
Name = userDto.Name,
Surname = userDto.Surname,
Patronymic = userDto.Patronymic,
@ -98,7 +99,7 @@ namespace AsbCloudInfrastructure.Services
Position = userDto.Position,
Level = userDto.Level,
Login = userDto.Login,
PasswordHash = salt + ComputeHash(salt, userDto.Password)
PasswordHash = salt + ComputeHash(salt, userDto.Password),
};
db.Users.Add(user);

View File

@ -36,7 +36,7 @@ namespace AsbCloudWebApi.Controllers
auth.Password, token).ConfigureAwait(false);
if (userToken is null)
BadRequest();//"wrong login or password"
Forbid();
return Ok(userToken);
}
@ -57,14 +57,9 @@ namespace AsbCloudWebApi.Controllers
/// Регистрация пользователя. Доступна администратору
/// </summary>
/// <returns code="200">Ок</returns>
[Authorize]
[HttpPost]
public IActionResult Register(UserDto user)
{
const string roleName = "Администратор";
if (!User.IsInRole(roleName))
return Forbid($"You must be an {roleName}.");
var code = authService.Register(user);
return code switch
{