Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET Core
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
C# .NET Программист
34 / 22 / 5
Регистрация: 11.11.2016
Сообщений: 426
1

ASP.NET Identity. Информация о пользователе

08.02.2019, 21:55. Показов 2506. Ответов 6

Author24 — интернет-сервис помощи студентам
Всем привет. Пишу приложение на ASP.NET Core. Работаю с ASP.NET Identity.
Теперь вопрос. Как мне хранить дополнительную информацию о пользователе?
У меня есть вариант: записывать новые свойства в таблицу AspNetUsers. Но правильный ли подход: следовать этому варианту? То есть, я могу внести изменения в таблицу пользователей и брать данные оттуда?

Также я слышал про Claims. Что можно с помощью них хранить дополнительную информацию. Но я так и не понял, как с ними работать. Я, честно говоря, ни разу не видел ASP.NET Identity Claims в связке с БД (может это и странно звучит). Хотя таблица подобная имеется.

Вопрос

Какой правильный вариант для хранения дополнительной информации о пользователе вы посоветуете? И каким способом с ней работать?

Заранее благодарен.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.02.2019, 21:55
Ответы с готовыми решениями:

Asp.net core identity
Добрый день. В своем проекте я хочу использовать двухуровневую систему - Web(MVC) и DAL(library)...

Identity в ASP.NET Core 2.0
Доброе время суток. Пытаюсь реализовать авторизацю с помощью Identity на asp.net core 2.0. Но...

ASP.NET Identity (Vue.JS)
Всем привет. Пишу SPA-приложение на Vue.JS. Создал регистрацию и вход через запрос Axios...

Очистка cookies в ASP.NET Core Identity
Добрый день! Подскажите, пожалуйста, каким образом можно почистить куки, если администратор поменял...

6
3654 / 2567 / 717
Регистрация: 02.08.2011
Сообщений: 6,928
08.02.2019, 22:26 2
Цитата Сообщение от Ислам2001 Посмотреть сообщение
То есть, я могу внести изменения в таблицу пользователей и брать данные оттуда?
Конечно можете, AspNetUsers содержит лишь минимальную структуру, необходимую для функционала аутентификации/авторизации.
Просто создаете свой собственный, производный тип от IdentityUser<>, и пихаете туда все что захотите.

Цитата Сообщение от Ислам2001 Посмотреть сообщение
Но я так и не понял, как с ними работать. Я, честно говоря, ни разу не видел ASP.NET Identity Claims в связке с БД
Claims придумали для удобной передачи пользовательской информации между различными сервисами.
Пока можете особо с ними не заморачиваться.

Btw, можно в OnModelCreating контекста восле вызова метода базового класса переименовать все Identity таблицы в более менее человечный вид, скажем is AspNetUsers в Users и т.д.
0
C# .NET Программист
34 / 22 / 5
Регистрация: 11.11.2016
Сообщений: 426
08.02.2019, 22:55  [ТС] 3
IamRain, я понял. Спасибо.
Тогда еще вопрос. Если у меня крупный проект, имеет ли смысл использовать Claims? И в чем его преимущество над таблицей Users?

Добавлено через 7 минут
А насчет производного класса от IdentityUser, пробовал. Но все же, когда делаешь "не по правилу", кажется, что что-то не так.
0
3654 / 2567 / 717
Регистрация: 02.08.2011
Сообщений: 6,928
08.02.2019, 23:09 4
Цитата Сообщение от Ислам2001 Посмотреть сообщение
Если у меня крупный проект, имеет ли смысл использовать Claims?
Попробуйте, просто при создании ClaimsIdentity в свойство Claims добавляется доп. информации из таблицы пользователя.

Claims используются для передачи пользовательской информации между клиентом и сервером, и между различными сервисами. Например, там может хранится информациия о ролях пользователя и т.д.
А таблица Users - персистентное хранилище информации о пользователях.

Cоответственно,

Цитата Сообщение от Ислам2001 Посмотреть сообщение
И в чем его преимущество над таблицей Users?
Ваш вопрос некорректен. Cами claims тоже хранятся в базе, в таблицах RoleClaims и UserClaims (не помню как в оригинале называются, смотрю по существущей БД, где поменял названия).
Миниатюры
ASP.NET Identity. Информация о пользователе  
0
C# .NET Программист
34 / 22 / 5
Регистрация: 11.11.2016
Сообщений: 426
08.02.2019, 23:14  [ТС] 5
Цитата Сообщение от IamRain
Ваш вопрос некорректен.
Я имел ввиду, в чем приемущество использования Claims над внесением изменений в таблицу Users?
Насчет таблиц, я знаю, что хранятся в БД.

И если можно, скинь пожалуйста ссылку на связку Claims с БД. Где информация о пользователе записывается в таблицу Claims.
0
3654 / 2567 / 717
Регистрация: 02.08.2011
Сообщений: 6,928
08.02.2019, 23:25 6
Лучший ответ Сообщение было отмечено Ислам2001 как решение

Решение

Цитата Сообщение от Ислам2001 Посмотреть сообщение
Но все же, когда делаешь "не по правилу", кажется, что что-то не так.
Это по какому такому правилу?)
При изучении чего-то нового сначала знакомятся с concept-ом, то есть как это все работает,
а потом уже можно писать как твоей душе угодно, главное чтобы не противоречило concept-у.
А не просто, как Code Monkey, бездумно по одному и тому же шаблону.

Добавлено через 8 минут
Цитата Сообщение от Ислам2001 Посмотреть сообщение
на связку Claims с БД.
IdentityUserClaim<T>
IdentityUserRole<T>

Это все часть Asp Identity, вам надо просто его подучить.
1
C# .NET Программист
34 / 22 / 5
Регистрация: 11.11.2016
Сообщений: 426
08.02.2019, 23:52  [ТС] 7
IamRain, спасибо большое. Рад был слышать ваш ответ. Я начну это использовать.
И попытаюсь все связать через Claims.
0
08.02.2019, 23:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2019, 23:52
Помогаю со студенческими работами здесь

Изменить в ASP.NET Identity создание пользователя
Всем здравствуйте! Я в asp новичок и вопрос возник. Стандартно таблица AspNetUser содержит в id...

ASP.NET Core Identity (в проекте WebApi)
админам: Я не увидел разделов для кора или для веб апи, если я их пропустил, плз перенесите и не...

Использование Identity Server и ASP .Net Core 3.00 с Angular
Приложение Angular ASP Net Core создано на основе шаблона VS2019 .NetCore 3.0 с аутентификацией и...

Можно ли использовать ASP.Net Core Identity вместе с Angular?
Собственно вопрос в названии темы

Ошибка при запуске приложения ASP.Net Core Identity
Помогите с изучением ASP.Net Core Identity, первое же приложение и не получается, вылетает вот это

ASP.NET Core Identity - Из коробки или добавление самостоятельно
Всем добрый вечер. Отталкиваясь от учебных пособий в сети, существует мнение, что оптимальнее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru