Привет гуру .NET
Начинаю изучение .NET Core и поэтому тут буду периодически задавать тупые нубские вопросы.
Если кто сможет помочь буду признателен.
Пытаюсь замутить следующую штуку!
Есть проект ASP.NET Core 2.0 MVC + Identity
https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity?tabs=visual-studio%2Caspnetcore2x
Все работает, пользователи создаются, редактируются.
Захотел добавить такую логику для того чтобы трекать время создания/обновления и кто это сделал
https://www.meziantou.net/2017/07/03/entity-framework-core-generate-tracking-columns
ВОПРОС.
Чтобы получить текущего пользовтеля используют вот этот подход
https://stackoverflow.com/questions/48554480/ef-core-get-authenticated-username-in-shadow-properties/48554738#48554738
и вот здесь
https://benjii.me/2014/03/track-created-and-modified-fields-automatically-with-entity-framework-code-first/
var currentUsername = !string.IsNullOrEmpty(System.Web.HttpContext.Current?.User?.Identity?.Name)
? HttpContext.Current.User.Identity.Name
: "Anonymous";
Почему-то используют UserName а не userID.
Почему так? В этом есть какой-то прикол?
И как вообще получить UserID в этом случае.
Простейший вопрос, но почему-то нифига не нагугливается с ходу.
Привет гуру .NET Начинаю изучение .NET Core и поэтому тут буду периодически задавать тупые нубские вопросы. Если кто сможет помочь буду признателен. Пытаюсь замутить следующую штуку! Есть проект ASP.NET Core 2.0 MVC + Identity https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity?tabs=visual-studio%2Caspnetcore2x Все работает, пользователи создаются, редактируются. Захотел добавить такую логику для того чтобы трекать время создания/обновления и кто это сделал https://www.meziantou.net/2017/07/03/entity-framework-core-generate-tracking-columns ВОПРОС. Чтобы получить текущего пользовтеля используют вот этот подход https://stackoverflow.com/questions/48554480/ef-core-get-authenticated-username-in-shadow-properties/48554738#48554738 и вот здесь https://benjii.me/2014/03/track-created-and-modified-fields-automatically-with-entity-framework-code-first/ [code]var currentUsername = !string.IsNullOrEmpty(System.Web.HttpContext.Current?.User?.Identity?.Name) ? HttpContext.Current.User.Identity.Name : "Anonymous"; [/code] Почему-то используют UserName а не userID. Почему так? В этом есть какой-то прикол? И как вообще получить UserID в этом случае. Простейший вопрос, но почему-то нифига не нагугливается с ходу.
Немного деталей.
В нете куча примеров как получить currentUserId из userManager.
Но сделать это можно в контроллере.
Пытался засунуть эти примеры в ApplicationDbContext и получил ошибку с циклической зависимостью почему собственно через контекст выше привел примеры.
Немного деталей. В нете куча примеров как получить currentUserId из userManager. Но сделать это можно в контроллере. Пытался засунуть эти примеры в ApplicationDbContext и получил ошибку с циклической зависимостью почему собственно через контекст выше привел примеры.
Вообще чем руководствуются разрабы когда для полей createdBy и updatedBy используют username в виде строки?
А ничего что пользователь может поменять это значение? Как авторы собираются привязывать записи к пользователям?
Вообще чем руководствуются разрабы когда для полей createdBy и updatedBy используют username в виде строки? А ничего что пользователь может поменять это значение? Как авторы собираются привязывать записи к пользователям?
А, все, вроде нашел.
Сразу не бросилось в глаза потому что как-то сильно замудрено сделано
var userId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
А, все, вроде нашел. Сразу не бросилось в глаза потому что как-то сильно замудрено сделано var userId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;