Реализовать роль и концепцию авторизации с Wolkenkit? - PullRequest
0 голосов
/ 08 декабря 2018

Я недавно начал работать с Wolkenkit, и мне было интересно, есть ли еще возможность реализовать какую-то концепцию роли?

Я уже нашел Wolkenkit: ACL для авторизации и пользовательских ролей это уже довольно интересно, и дает мне первое представление о том, как это решить, но в то же время это не совсем то, что мне нужно.

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

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

Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 08 декабря 2018

Концепция авторизации wolkenkit основана на токенах.

Следовательно, самое простое, что нужно сделать, - это чтобы поставщик удостоверений добавил заявки на роли, как описано в ACLдля авторизации и пользовательских ролей (это статья, на которую вы уже ссылались).Это работает "из коробки", и вам не нужно предоставлять и специальную логику для ваших приложений wolkenkit, кроме как для чтения токена и оценки его утверждений.Однако это подходит только для статических ролевых моделей, так как вам нужно будет изменять конфигурацию поставщика удостоверений каждый раз, когда меняется назначение роли.

Если вам требуется более динамичный подход, к сожалению, сейчас вам остаетсяваши собственные устройства.Что вы можете сделать, это добавить свойство к вашему агрегату, которое содержит массив ролей (или идентификаторов пользователей), которые вы хотите иметь доступ к агрегату.Затем в каждой команде вам нужно будет сравнить текущего пользователя с этим массивом.Но, тем не менее, это означает, что у вас есть предопределенные роли, вы просто можете разрешить или ограничить доступ к агрегированию во время выполнения для определенных ролей.

Если вам требуется еще более динамичный подход, например, создание ролей ad-hoc,Например, чтобы поделиться данными с группой, которую вы просто хотите создать, вы получите то, что мы называем авторизация на основе группы .Сейчас это не поддерживается, и AFAIK еще никто не реализовал.Поддержка этого есть в дорожной карте wolkenkit , но сейчас, к сожалению, ETA недоступно (возможно, это то, что вы могли бы внести в wolkenkit ?).

ЛибоКстати, вам нужно убедиться, что ваш провайдер идентификации настроен правильно и wolkenkit настроен соответствующим образом, как описано в . wolkenkit перенаправляет на Auth0, даже если пользователь вошел в систему .

Отказ от ответственностиЯ один из основных разработчиков wolkenkit, работающий на нативной сети (компания, стоящая за wolkenkit), поэтому, пожалуйста, примите мой ответ с небольшим количеством соли.

...