🚀 Динамические Claims в ASP.NET Core
Хотите добавлять права пользователю прямо во время выполнения приложения?
В ASP.NET Core это можно сделать через Claims Transformation.
Что это даёт:
- можно подтягивать данные из базы или внешнего сервиса
- добавлять их в HttpContext.User
- строить гибкие политики авторизации
То есть права пользователя можно расширять динамически, без изменения токена или повторной аутентификации.
Пример из поста:
Во время трансформации claims добавляется новый claim:
CardType = "platinum"
После этого можно создать policy:
- пользователь должен быть аутентифицирован
- у него должен быть claim CardType = platinum
И использовать её в авторизации.
Это особенно полезно для:
- RBAC (role-based access control)
- сложных систем прав
- динамических разрешений из БД
- feature-based доступа
Например:
- premium пользователь
- платиновая карта
- доступ к закрытому API
- платные функции
Claims Transformation позволяет подмешивать эти права на лету.
Полная статья:
https://milanjovanovic.tech/blog/master-claims-transformation-for-flexible-aspnetcore-authorization
Post #1716
4.18K
