Если вы все еще застреваете, проблема, с которой вы используете подменю services=$(compgen -A variable | grep service)
, состоит в том, что она создает одну длинную строку, содержащую service1 service2 service3...
. Хотя вы можете разобрать это с обычным расщеплением слов, вам лучше обслуживать сохранение требуемой переменной окружения в индексированном массиве, например
services=( $(compgen -A variable | grep 'service' | grep -v 'services') )
(grep -v 'services'
в необходимости удаления services
из список, который объявлен перед вызовом compgen
)
Теперь вы можете просто перебрать ваш массив с использованием косвенности и переменной счетчика, чтобы создать выход serverX=val
вы хотите, например,
declare -i n=1
for i in ${services[@]}; do
printf "%s=%s\n" "server$((n++))" "${!i}"
done
Введя его в целом в коротком примере, вы можете сделать что-то вроде следующего:
#!/bin/bash
service1=1
service2=a
service3=dd
## fill services with all variable containing "service", excluding "services"
services=( $(compgen -A variable | grep 'service' | grep -v 'services') )
declare -i n=1
for i in ${services[@]}; do
printf "%s=%s\n" "server$((n++))" "${!i}" ## use indirection to get value of i
done
Пример использования / вывода
$ bash compgen_tst.sh
server1=1
server2=a
server3=dd
Посмотрите все и дайте мне знать, если у вас появятся дополнительные вопросы.
С Keycloak Authorization события (event1 и event2) должны быть вашими ресурсами.
Администратор, Менеджер, Гость должны быть вашими ролями
Затем вам нужно создать политики в разделе Авторизация, чтобы соответственно предоставить доступ пользователям / ролям
Область действия обычно указывает, что можно сделать с данным ресурс. Примерами областей видимости являются просмотр, редактирование, удаление и т. Д. Однако область действия также может быть связана с конкретной информацией, предоставляемой ресурсом. Например, ваши события могут иметь свойство скажем источник со значениями ЦП, сеть, память и т. Д. Вы можете определять политики и разрешения на основе источника событий.
Более подробную информацию можно найти в здесь
.