Я написал этот 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
Метод входа больше не работает после использования HttpPut ⇐ C#
Место общения программистов C#
-
Anonymous
1727157075
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
Подробнее здесь: [url]https://stackoverflow.com/questions/79015525/login-method-no-longer-working-after-using-httpput[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия