поле OwnerId - Идентификатор пользователя из AspNetUsers таблицы в Identity базе данных. Для решения данной задачи как раз всё понятно и то что нужно, но как быть если нужно на форму вывести все контакты с данными из таблицы AspNetUsers? Т.е., в примере от Microsoft происходит сверка через OwnerId с Id текущего пользователя и если совпадение то отобразить нужный контент, но мне кроме проверки нужны ещё и данные пользователя и не конкретного а всех, для подгрузки на страницу, но в модели данных нет доступа к этим данным, и что бы их получить, как я полагаю, нужно создать связь и для этого в модели данных контактов прописать два поля:
public string? UserId { get; set; }
public User? User { get; set; }
так я получаю полный доступ к связанным данным каждого пользователя, но вот вопрос, а правильно ли это с точки безопасности и если да то тогда OwnerID наверное уже не нужен, так как есть UserId?
Для таких целей, возможно, стоит использовать не userManager, а ApplicationDbContext , где разные таблицы можно связать, как обычно запросами. ( ссылка немного не про то, но погуглить можно в направлении ApplicationDbContext: https://stackoverflow.com/questions/20925822/asp-net-mvc-5-identity-how-to-get-current-applicationuser) https://docs.microsoft.com/en-us/aspnet/core/security/authentication/customize-identity-model?view=aspnetcore-6.0
Обсуждают сегодня