C# .NET Программист
34 / 22 / 5
Регистрация: 11.11.2016
Сообщений: 426
|
|
1 | |
ASP.NET Identity. Информация о пользователе08.02.2019, 21:55. Показов 2506. Ответов 6
Метки asp.net identity (Все метки)
Всем привет. Пишу приложение на ASP.NET Core. Работаю с ASP.NET Identity.
Теперь вопрос. Как мне хранить дополнительную информацию о пользователе? У меня есть вариант: записывать новые свойства в таблицу AspNetUsers. Но правильный ли подход: следовать этому варианту? То есть, я могу внести изменения в таблицу пользователей и брать данные оттуда? Также я слышал про Claims. Что можно с помощью них хранить дополнительную информацию. Но я так и не понял, как с ними работать. Я, честно говоря, ни разу не видел ASP.NET Identity Claims в связке с БД (может это и странно звучит). Хотя таблица подобная имеется. Вопрос Какой правильный вариант для хранения дополнительной информации о пользователе вы посоветуете? И каким способом с ней работать? Заранее благодарен.
0
|
08.02.2019, 21:55 | |
Ответы с готовыми решениями:
6
Asp.net core identity Identity в ASP.NET Core 2.0 ASP.NET Identity (Vue.JS) Очистка cookies в ASP.NET Core Identity |
3654 / 2567 / 717
Регистрация: 02.08.2011
Сообщений: 6,928
|
|
08.02.2019, 22:26 | 2 |
Конечно можете, AspNetUsers содержит лишь минимальную структуру, необходимую для функционала аутентификации/авторизации.
Просто создаете свой собственный, производный тип от IdentityUser<>, и пихаете туда все что захотите. 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 |
Попробуйте, просто при создании ClaimsIdentity в свойство Claims добавляется доп. информации из таблицы пользователя.
Claims используются для передачи пользовательской информации между клиентом и сервером, и между различными сервисами. Например, там может хранится информациия о ролях пользователя и т.д. А таблица Users - персистентное хранилище информации о пользователях. Cоответственно, Ваш вопрос некорректен. Cами claims тоже хранятся в базе, в таблицах RoleClaims и UserClaims (не помню как в оригинале называются, смотрю по существущей БД, где поменял названия).
0
|
C# .NET Программист
34 / 22 / 5
Регистрация: 11.11.2016
Сообщений: 426
|
|
08.02.2019, 23:14 [ТС] | 5 |
Сообщение от IamRain
Насчет таблиц, я знаю, что хранятся в БД. И если можно, скинь пожалуйста ссылку на связку Claims с БД. Где информация о пользователе записывается в таблицу Claims.
0
|
3654 / 2567 / 717
Регистрация: 02.08.2011
Сообщений: 6,928
|
|
08.02.2019, 23:25 | 6 |
Сообщение было отмечено Ислам2001 как решение
Решение
Это по какому такому правилу?)
При изучении чего-то нового сначала знакомятся с concept-ом, то есть как это все работает, а потом уже можно писать как твоей душе угодно, главное чтобы не противоречило concept-у. А не просто, как Code Monkey, бездумно по одному и тому же шаблону. Добавлено через 8 минут 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 | |
08.02.2019, 23:52 | |
Помогаю со студенческими работами здесь
7
Изменить в ASP.NET Identity создание пользователя ASP.NET Core Identity (в проекте WebApi) Использование Identity Server и ASP .Net Core 3.00 с Angular Можно ли использовать ASP.Net Core Identity вместе с Angular? Ошибка при запуске приложения ASP.Net Core Identity ASP.NET Core Identity - Из коробки или добавление самостоятельно Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |