services.AddScoped<MyDbContext>(serviceProvider => {
var httpContext = serviceProvider.GetService<IHttpContextAccessor>()?.HttpContext;
// httpContext == null
return new MyDbContext();
});
public static DirEnum[] Values { get => (DirEnum[])Enum.GetValues(typeof(DirEnum)); }
public enum Dir { Up, Down };
// класс-обвертка над DirEnum
public class Dirs
{
public static Dir[] All { get => (Dir[])Enum.GetValues(typeof(Dir)); }
}
foreach (Dir a in Dirs.All) {
MessageBox.Show(a.ToString());
}
из за этого наверно и посыпалось - userEntity.Type.ToString() посмотрите, что отсюда возвращается,
наверно, что то такое что в куку прописать не получается
Ну и по хорошему лучше использовать метод Unauthorized вместо NotFound
Unauthorized(new ProblemDetails { Title = "User not found" });
NotFound - нужен для случаев когда клиент запрашивает некий ресурс с перманентой "пропиской" а метод его может найти у себя. Например если бы вы обрабатывали запрос типа "получить пользователя с заданным идентификатором". Лучше лишний раз не нарушать семантику HTTP ответов.
Ну и ещё :)) При неудачной аутентификации (то, что вы делаете называете аутентификацией) лучше обобщайте все ошибки в одну - "Неправильное имя пользователя или пароль, возможно пользователь не зарегистрирован". С точки зрения безопасности так лучше