Вот мой верблюжий контекст и bean-компонент SecurityConstraintMapping
<bean id="constraint"
class="org.apache.camel.component.netty4.http.SecurityConstraintMapping">
<property name="inclusions">
<map>
<entry key="/dev/*" value="developer,scrumMaster" />
<entry key="/test/*" value="tester,scrumMaster" />
<entry key="/scrum/*" value="scrumMaster" />
</map>
</property>
<property name="exclusions">
<set>
<value>/public/*</value>
</set>
</property>
</bean>
<camelContext id="camelCtx"
xmlns="http://camel.apache.org/schema/blueprint">
<routeBuilder ref="routeBuilder" />
<route>
<from
uri="netty4-http:http://0.0.0.0:{{port}}/dev/ping?matchOnUriPrefix=true&securityConfiguration.realm=karaf&securityConfiguration.securityConstraint=#constraint" />
<transform>
<constant>This is ping URL for developer</constant>
</transform>
</route>
<route>
<from
uri="netty4-http:http://0.0.0.0:{{port}}/test?matchOnUriPrefix=true&securityConfiguration.realm=karaf&securityConfiguration.securityConstraint=#constraint" />
<transform>
<constant>Hello Tester</constant>
</transform>
</route>
<route>
<from
uri="netty4-http:http://0.0.0.0:{{port}}/scrum?matchOnUriPrefix=true&securityConfiguration.realm=karaf&securityConfiguration.securityConstraint=#constraint" />
<transform>
<constant>Hello Tester</constant>
</transform>
</route>
</camelContext>
Путь / dev должен быть доступен пользователям, имеющим роли "developer, srumMaster"
Путь / тест должен быть доступендля пользователей, имеющих роли "tester, srumMaster"
Путь / scrum должны быть доступны пользователям, имеющим только роль "srumMaster"
Отображение роли пользователя в контейнере karaf выглядит следующим образом
karaf @ run ()> jaas: список пользователей
Имя пользователя |Группа |Роль
---------- + ------------------- + -------------
Караф |Admingroup |admin
karaf |Admingroup |менеджер
Караф |Admingroup |зритель
Караф |Admingroup |systembundles
dev1 |developmentGroup |разработчик
test1 |testGroup |тестер
scrum1 |scrumMasterGroup |scrumMaster
scrum1 |scrumMasterGroup |разработчик
scrum1 |scrumMasterGroup |тестер