forked from ddrilling/AsbCloudServer
Fixed Login. Users with State == 0 will not be authenticated
This commit is contained in:
parent
16e17c0559
commit
9fea1c94a6
@ -45,7 +45,7 @@ namespace AsbCloudInfrastructure.Services
|
|||||||
var identity = await GetClaimsUserAsync(login, password, token)
|
var identity = await GetClaimsUserAsync(login, password, token)
|
||||||
.ConfigureAwait(false);
|
.ConfigureAwait(false);
|
||||||
|
|
||||||
if (identity == default)
|
if (identity == default || identity.User.State == 0)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
return new UserTokenDto
|
return new UserTokenDto
|
||||||
@ -89,7 +89,8 @@ namespace AsbCloudInfrastructure.Services
|
|||||||
var user = new User
|
var user = new User
|
||||||
{
|
{
|
||||||
IdCompany = userDto.IdCompany,
|
IdCompany = userDto.IdCompany,
|
||||||
IdRole = userDto.IdRole,
|
IdRole = 2, // simple user
|
||||||
|
State = 0,
|
||||||
Name = userDto.Name,
|
Name = userDto.Name,
|
||||||
Surname = userDto.Surname,
|
Surname = userDto.Surname,
|
||||||
Patronymic = userDto.Patronymic,
|
Patronymic = userDto.Patronymic,
|
||||||
@ -98,7 +99,7 @@ namespace AsbCloudInfrastructure.Services
|
|||||||
Position = userDto.Position,
|
Position = userDto.Position,
|
||||||
Level = userDto.Level,
|
Level = userDto.Level,
|
||||||
Login = userDto.Login,
|
Login = userDto.Login,
|
||||||
PasswordHash = salt + ComputeHash(salt, userDto.Password)
|
PasswordHash = salt + ComputeHash(salt, userDto.Password),
|
||||||
};
|
};
|
||||||
|
|
||||||
db.Users.Add(user);
|
db.Users.Add(user);
|
||||||
|
@ -36,7 +36,7 @@ namespace AsbCloudWebApi.Controllers
|
|||||||
auth.Password, token).ConfigureAwait(false);
|
auth.Password, token).ConfigureAwait(false);
|
||||||
|
|
||||||
if (userToken is null)
|
if (userToken is null)
|
||||||
BadRequest();//"wrong login or password"
|
Forbid();
|
||||||
|
|
||||||
return Ok(userToken);
|
return Ok(userToken);
|
||||||
}
|
}
|
||||||
@ -57,14 +57,9 @@ namespace AsbCloudWebApi.Controllers
|
|||||||
/// Регистрация пользователя. Доступна администратору
|
/// Регистрация пользователя. Доступна администратору
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns code="200">Ок</returns>
|
/// <returns code="200">Ок</returns>
|
||||||
[Authorize]
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public IActionResult Register(UserDto user)
|
public IActionResult Register(UserDto user)
|
||||||
{
|
{
|
||||||
const string roleName = "Администратор";
|
|
||||||
if (!User.IsInRole(roleName))
|
|
||||||
return Forbid($"You must be an {roleName}.");
|
|
||||||
|
|
||||||
var code = authService.Register(user);
|
var code = authService.Register(user);
|
||||||
return code switch
|
return code switch
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user