Я создаю приложение asp.net core 2.0 (с EFCore a Identity), которое имеет:
- веб-сайт (MVC), где люди могут зарегистрироваться и купить разные планы (с разными ценами и т. Д.)).Таким образом, эти пользователи должны подтвердить электронную почту и добавить другую информацию, чтобы иметь возможность использовать ее службы, включая создание и управление пользователями мобильных приложений.
- Мобильное приложение с бэкэндом WebAPI.Пользователи приложения - это работники, которые переходят от клиента к клиенту, добавляя информацию, которая должна быть собрана на месте в приложение.Эта информация получена пользователями сайта.
Итак, я вижу, что есть два разных типа пользователей: только один из них когда-либо будет использовать сайт, и нуждается (больше?) В безопасностипоскольку ему требуется подтвержденное электронное письмо на случай, если он забудет пароль и т. д. Кроме того, эти пользователи смогут просматривать все отчеты и (конфиденциальную) информацию, собранную мобильным приложением.Эта аутентификация основана на использовании файлов cookie.
С другой стороны, пользователи мобильных приложений никогда не будут иметь доступа к информации, отличной от той, которую они сами вводят, и их электронные письма не нужны.Им просто нужно имя пользователя и код / пароль, выданные пользователем сайта.И эта аутентификация является токеном на предъявителя.
Я бы предпочел сделать все это в одном проекте, поэтому мой вопрос заключается в том, как я могу обрабатывать эти два типа пользователей (и процессы аутентификации) в одном проекте?
Я читаю документы по схемам авторизации, утверждениям, фильтрам, атрибутам безопасности, настройке startup.cs.Я считаю, что справился бы с этим, если бы это была просто разница в роли.И вопросы, которые я искал здесь, о различных типах пользователей, казалось, были действительно о ролях, но мой случай, я не думаю, что это может быть обработано таким образом.Например, пользователи мобильных приложений не будут ни регистрироваться, ни обрабатывать пароли и т. Д., Все это будет управляться пользователями веб-сайта, которые имеют, скажем, «полную учетную запись».
По запросу я могу опубликовать некоторый код,но что мне действительно нужно, так это некоторые рекомендации, например:
не делайте этого в одном проекте, сделайте два, один для MVC и один для WEBAPI и обрабатывайте различные параметры безопасности / авторизации /регистрация касается каждого;
или: Вам необходимо создать два разных класса "AppUser" и (в этом случае, как настроить Identity / что я добавлю в startup.cs?)
Я нашел это: https://medium.com/agilix/asp-net-core-supporting-multiple-authorization-6502eb79f934
Но здесь все еще не хватает информации о разных пользователях.Вполне возможно, что я прочитал в документации Microsoft и других местах информацию, которая мне нужна для этого, но я не могу собрать все это вместе - например, я знаю, как создать и зарегистрировать пользовательский класс пользователя в Identity, я понимаю, какдобавить фильтры и атрибуты в конвейер MVC, и я думаю, что мне нужно все это, чтобы выполнить то, что мне нужно, но я не могу шаг за шагом понять, что мне нужно делать.