Ограничения Узоров Keycloak - PullRequest
0 голосов
/ 25 апреля 2019

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

В предыдущей версии моего приложения я использовал Spring Security только со следующей конфигурацией:

            .antMatchers(HttpMethod.PUT, "/brands/models/{id}").hasAnyAuthority(ADMIN_ROLE)
            .antMatchers(HttpMethod.DELETE, "/brands/models/{id}").hasAnyAuthority(ADMIN_ROLE)

            .antMatchers(HttpMethod.POST, "/brands/models/versions").hasAnyAuthority(ADMIN_ROLE)
            .antMatchers(HttpMethod.PUT, "/brands/models/versions/{id}").hasAnyAuthority(ADMIN_ROLE)
            .antMatchers(HttpMethod.PUT, "/brands/models/versions/{id}/default").hasAnyAuthority(ADMIN_ROLE) 
            .antMatchers(HttpMethod.DELETE, "/brands/models/versions/{id}").hasAnyAuthority(ADMIN_ROLE)

            .antMatchers(HttpMethod.PUT, "/brands/models/versions/{id}/price").hasAnyAuthority(USER_ROLE)

В моем новом приложении с Keycloak (без Spring Security) мне нужно сделать то же самое в application.yml.

например как

security-constraints[0]:
    auth-roles:
      - admin
    security-collections[0]:
      name: endpoints models
      patterns:
        - /brands/models
        - /brands/models/{id}
      methods:
        - POST
        - PUT
        - DELETE
    security-collections[1]:
      name: endpoints versions
      patterns:
        - /brands/models/versions
        - /brands/models/versions/{id}
        - /brands/models/versions/{id}/default
      methods:
        - POST
        - PUT
        - DELETE
security-constraints[1]:
    auth-roles:
      - user
    security-collections[0]:
      name: endpoints modelos
      patterns:
        - /brands/models/versions/{id}/price
      methods:
        - PUT

Идея состоит в том, что роль администратора может выполнять операции CRUD с этими конечными точками

/ марки / модели / Марка / модель / версия

А пользовательская роль может обновлять только атрибуты в конечной точке

/ брендов / модель / версия / {ID} / цена

Есть предложения?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...