Привет, потрясающие взгляды, я работал над проектом в .net 5, и в системе есть 2 пользователя с собственной панелью администратора, предназначенная для персонала, а одна - для клиентов, администраторы персонала могут создавать других сотрудников и назначать им роли и разрешения, так что делайте клиентам они могут назначать своим сотрудникам любые роли и разрешения. Я использую .net Identity, и как лучше всего это сделать? следует ли мне добавлять пользователей в одну таблицу AspNetUsers и различать их по ролям, или есть ли какой-либо способ, которым я могу создать сотрудников и клиентов и выполнить все функции идентификации и прочее в двух разных пользовательских таблицах? Я новичок и немного смущен, любая помощь приветствуется!
Идентификатор .net 5 для разных типов пользователей
Ответы (1)
Я использую .net Identity, и как лучше всего это сделать? следует ли мне добавлять пользователей в одну таблицу AspNetUsers и различать их по ролям, или есть ли какой-либо способ, которым я могу создать сотрудников и клиентов и выполнить все функции идентификации и прочее в двух разных пользовательских таблицах? Я новичок и немного смущен, любая помощь приветствуется
Поскольку вы уже использовали базовую идентификацию Asp.net, вы можете добавить AddRoles, чтобы добавить службы ролей в метод Startup.ConfigureServices, например:
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection")));
services.AddDefaultIdentity<IdentityUser>()
.AddRoles<IdentityRole>()
.AddEntityFrameworkStores<ApplicationDbContext>();
[Примечание] Приведенный выше код был настроен для использования модели IndentityUser и IdentityRole по умолчанию, если вы хотите добавить пользовательские данные для таблицы пользователей или ролей, вы можете изменить IdentityUser или IdentityRole на свою пользовательскую модель.
Если приложение не настраивает службы идентификации, вы можете проверить Введение в идентификацию в ASP.NET Core и Scaffold Identity в проектах ASP.NET Core, затем настройте службы идентификации.
После настройки служб идентификации вы можете создать RoleController, а затем использовать RoleManager для управления ролями. А на странице регистрации после успешного создания пользователя вы можете использовать метод UserManager.AddToRoleAsync () для добавления пользователя к специальной роли.
Пользователи будут храниться в таблице AspNetUsers
, а роли - в таблице AspNetRoles
, отношения между пользователем и ролью будут храниться в таблице AspNetUserRoles
, вы можете найти их на основе UserId
и RoleId
, проверьте это.
Затем вы можете настроить авторизацию на основе ролей или создать политику на основе ролей, см. Следующие статьи:
Авторизация на основе ролей в ASP.NET Ядро
Добавление авторизации роли в приложение ASP.NET MVC Core