Метод входа больше не работает после использования HttpPutC#

Место общения программистов C#
Ответить
Anonymous
 Метод входа больше не работает после использования HttpPut

Сообщение Anonymous »

Я написал этот HTTP-метод PUT для обновления профиля пользователя, вошедшего в систему в данный момент, поэтому в Postman я успешно вхожу в систему, использую запрос put для обновления поля, пока все хорошо, даже в базе данных поля обновляются, но затем повторная попытка запроса входа не работает. Я не думаю, что пароль каким-то образом меняется, поскольку я проверил хэш, но я не уверен.
Метод, часть моего AuthController.cs< /p>

[HttpPut("profile")]
[Authorize]
public async Task UpdateProfile([FromBody] EditDTO editDTO)
{
var userId = User.FindFirstValue(ClaimTypes.NameIdentifier);
if (userId == null) return Unauthorized();

var user = await _userManager.FindByIdAsync(userId);
if (user == null) return NotFound();
//return Ok(userDTO);
if (editDTO.Frameworks != null)
{
var frameworks = await _frameworkService.GetOrCreateFrameworksAsync(editDTO.Frameworks);
user.Frameworks = frameworks;
}
if (editDTO.Username != null)
user.UserName = editDTO.Username;

if (editDTO.Email != null)
user.Email = editDTO.Email;

var result = await _userManager.UpdateAsync(user);

if (result.Succeeded)
{
return Ok(user);
}
else
{
return BadRequest(result.Errors);
}
}

EditDTO.cs
using API.Models.Domain.Extra;
using System.ComponentModel.DataAnnotations;

namespace API.Models.DTOs.Auth
{
public class EditDTO
{

[EmailAddress]
public string? Email { get; set; }

[DataType(DataType.Text)]
public string? Username { get; set; }

public ICollection? Frameworks { get; set; }

}
}


Я пробовал разные варианты этого кода, но безрезультатно.
Пакеты:



net8.0
enable
enable








all
runtime; build; native; contentfiles; analyzers; buildtransitive










Подробнее здесь: https://stackoverflow.com/questions/790 ... ng-httpput
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»