Какой самый простой способ добавить пользователей приложения на сервер Thorntail WildFly? - PullRequest
1 голос
/ 30 марта 2019

Как сказано в заголовке, есть ли способ добавить пользователей приложения на сервер Thorntail WilFly, так же, как вы делали бы со скриптом "add-user.sh -a" в полном дистрибутиве сервера?Я понимаю, что вы можете предоставить внешний файл конфигурации для Thorntail, но это выглядит немного сложнее только для указания, где находятся пользователи.Спасибо

Ответы [ 2 ]

3 голосов
/ 01 апреля 2019

Ответ Томаса Херцога очень хорош с концептуальной точки зрения - я особенно согласен с защитой приложения с помощью внешнего Keycloak, возможно, с помощью MicroProfile JWT.Я просто дам несколько замечаний, если вы решите не делать этого.

Вы можете определить пользователей непосредственно в project-defaults.yml, например:

thorntail:
  management:
    security-realms:
      ApplicationRealm:
        in-memory-authentication:
          users:
            bob:
              password: tacos!
        in-memory-authorization:
          users:
            bob:
              roles:
              - admin

Файл project-defaults.yml не должен быть внешним по отношению к приложению, вы можете встроить его непосредственно в него.Как правило, в вашем исходном коде файл будет находиться в src/main/resources, а после сборки он будет встроен в -thorntail.jar.Это может быть, конечно, внешним, и если это что-то иное, чем одноразовый прототип или тест, конфиденциальные данные, подобные этому , должны быть внешними.

Вы также можетеиспользуйте .properties файлы из WildFly:

thorntail:
  management:
    security-realms:
      ApplicationRealm:
        properties-authentication:
          path: .../path/to/application-users.properties
        properties-authorization:
          path: .../path/to/application-roles.properties
1 голос
/ 31 марта 2019

Это зависит от того, для чего вам нужны пользователи? Thorntail создает автономные микросервисы, которые отличаются от размещенных приложений на сервере wildfly.

Есть ли в Thorntail консоль управления?

Да, есть, но я никогда не использовал его.

https://docs.thorntail.io/2.2.0.Final/#_management

https://docs.thorntail.io/2.2.0.Final/#_management_console

Пользователи, которых вы, возможно, сможете создать, не должны быть постоянными, потому что нет установки wildfly-сервера, как вы привыкли к автономной установке wildfly-server, все это упаковано в jar. Микросервис больше не нужно настраивать после развертывания, по крайней мере, так.

Как защитить мое приложение?

Я бы порекомендовал использовать внешнее управление пользователями через keycloak, который интегрирован в thorntail через фракцию keycloak. С помощью фракции keycloak вы можете определить ограничения безопасности для ваших конечных точек аналогично web.xml.

https://docs.thorntail.io/2.2.0.Final/#_keycloak

Другим способом является использование доли безопасности, которая обеспечивает поддержку JAAS для вашего микросервиса.

https://docs.thorntail.io/2.2.0.Final/#_security

Конфигурирование выполняется через специальный файл конфигурации project-defaults.yml для thorntail, где вы можете конфигурировать дроби через YAML.

Что такое фракция колючего хвоста?

Фракция Thorntail похожа на зависимость начала загрузки пружины от spring, в которой фракция предоставляет API для разработки и связывает реализацию и интеграцию в thorntail. Фракция фактически представляет собой модуль jboss, который упаковывается в автономный микросервис на этапе переупаковки.

Где я могу найти примеры?

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

https://github.com/thorntail/thorntail-examples/tree/master/security

Взгляните на src / main / resources / projects-defaults.yml , который содержит конфигурацию для фракций thorntail и pom.xml , который определяет используемые фракции.

...