ASP.NET Core - Как использовать службы идентификации в разных базах данных? - PullRequest
1 голос
/ 04 ноября 2019

Ради экономии времени и понимания моей точки зрения вот аналогия. Допустим, я создаю сеть супермаркетов. Каждый супермаркет имеет собственную базу данных, и сотрудники могут войти через веб-приложение. Теперь у меня есть такая структура: есть одна база данных для обработки входов в приложение, а затем сотрудник может выбрать свой супермаркет из списка, чтобы затем подключиться к этой базе данных

Проблема, с которой я сейчас сталкиваюсь, заключается в том, какавторизовать пользователей в этой отдельной базе данных? В супермаркете может быть менеджер, который должен был бы получить доступ ко всему, обычный сотрудник, которому может быть разрешено только просматривать свое расписание, или, возможно, даже директор, которому будет разрешен доступ к определенным базам данных супермаркетов и видеть все в них. Сотрудник может работать в нескольких магазинах, где его уровень доступа различен в каждом магазине.

Я понимаю, что именно здесь приходят роли и утверждения. В настоящее время у меня есть IdentityDbContext в базе данных входа в систему со всеми пользовательскими требованиями, ролямии т.д., но они должны быть специфическими для каждой базы данных супермаркетов, поэтому я не думаю, что они должны храниться в базе данных входа в систему. Кто-нибудь знает о возможном исправлении? Возможно ли сохранить таблицу AspNetUserLogins в базе данных Login, а AspNetRoles, заявки и т. Д. В базе данных супермаркетов?

Что я пробовал / думал о: Я думал о том, чтобы IdentityDbContext был включенобе базы данных, но затем пользователю придется снова войти в систему, чтобы попасть в базу данных супермаркета. Я не хочу этого, это должен быть беспроблемный опыт, когда пользователь может переходить между супермаркетами одним нажатием кнопки.

...