docker-compose up -d
Логин админа - admin123 Пароль админа - admin123
Пока с docker происходят трудности в связи с блокировкой dockerhub, попытаюсь через vpn прокинуть image в свой registry, если не будет, то просто запустите через docker-compose саму бд, а приложение
❯ dotnet build
❯ cd src/Users.Api/
❯ dotnet run
├── src # Основной код проекта
| |
│ ├── Users.Api # Api приложения (регистрация DI, определение endpoints,
| | # middlewares, настройки automapper)
| |
│ ├── Users.Application # Здесь собраны различные команды и запросы с использованием
| | # паттерна проектирования Посредник (Mediator)
| | # реализация простенького ABAC (Attribute-Based Access Control)
| |
│ ├── Users.DataLayer # Конфигурация базы данных, в моем случае PostgreSQL
| |
│ ├── Users.Domain # Домен приложения (сущность User, exceptions,
| | # auth-абстракции)
| |
│ ├── Users.HttpModels # HTTP модели
| |
│ └── Users.Infrastructure # Реализации репозиториев, UnitOfWork и других бизнес сервисов.
Реализовывал простенький ABAC, мое спроектированное flow:
(AuthMiddleware) (BusinessLogic) (IntentionManager) (SomeOperations)
(#1) (#2) (#3) (#4)
| | | |
------------------------------------------------------------------------------------------> request
#1 - AuthenticationMiddleware смотрит на токен в request, если он есть то берет из него информацию по пользователю и инициализирует IdentityProvider как зарегистрированного пользователя с определенными действиями, если нет токена - то записывает запрос как запрос от IdentityGuest
#2 - Происходит вызов каких-нибудь методов из бизнеса
#3 - Если для бизнеса нужно узнать может/не может данный Identity делать это действие, то вызывается соответствующий IntentionResolver который решает можно или нет
#4 - Если можно, то дальше выполняется операция, если нет, то выкидывается IntentionException()