Как реализовать многопользовательский вход пользователя с использованием идентификатора ASP.NET

asp.net-identity entity-framework-6 multi-tenant

Вопрос

Я разрабатываю решение Multi-tenant, и я хочу использовать новейшую инфраструктуру ASP.NET Identity, в частности, реализацию Entity Framework .

В принципе, мне нужно разрешить двум пользователям иметь одинаковое имя пользователя, хотя оно должно быть уникальным для арендатора, я также хотел бы использовать внешние входы, такие как Twitter, Microsoft, Facebook и Google.

Из того, что я могу сказать, структура не была разработана с учетом многопользовательского подхода, хотя, похоже, это позволяет расширяемость. Я предпочел бы использовать как можно больше существующих компонентов, хотя на данный момент я думаю, что мне придется отказаться от реализации Entity Framework и самому кодоваться.

Кто-нибудь еще пробовал это и сколько у них было, чтобы закодировать себя.

Принятый ответ

Теперь у меня есть рабочее решение, которое я поделил в репозитории GitHub:

https://github.com/JSkimming/AspNet.Identity.EntityFramework.Multitenant

Расширение, необходимое для поддержки многопользовательской аренды, невозможно с выпуском версии 1.0.0 Microsoft.AspNet.Identity.EntityFramework (по крайней мере, не без большого количества пользовательской работы), но доступно в версии 1.1 alpha, доступной в настоящее время через Nightly Пакеты NuGet для веб-стека ASP.NET .

Я решил опубликовать то, что я выпустил, как пакет NuGet AspNet.Identity.EntityFramework.Multitenant , как заявлено, что в настоящее время он требует пакетных пакетов NuGet для веб-сайтов Nightly ASP.NET .

Я предоставил два простых сайта, которые используют этот пакет для многоуровневой аренды:

  1. Vanilla Implementation, который является стандартным проектом шаблона MVC5, который использует строковые первичные ключи.
    • Изменения, необходимые для обеспечения многопользовательской аренды, были выделены для этой фиксации .
  2. Integer Primary Key Implementation, который делает еще несколько настроек для использования целых первичных ключей
    • Изменения, необходимые для обеспечения многопользовательской аренды, были выделены для этой фиксации .

Я планирую обновить решение по мере выпуска версии 1.1 ASP.NET Identity.

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


Обновить

Теперь решение было обновлено для использования версии 2.0 Microsoft.AspNet.Identity.EntityFramework .


Популярные ответы

Да, мы явно оставили это как сценарий расширяемости. Вы должны сделать это, переопределив свойства UserManager и внедряя свой собственный IUserStore. Хотя вы, возможно, также сможете расширить EF UserStore, а также просто добавить tenantId для своего пользователя.




Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему