Инициализация контекста безопасности EJB из учетных данных, предоставленных через SAML в заголовке WS-Security в JBoss EAP 7.1 / Wildfly - PullRequest
0 голосов
/ 11 мая 2018

Я намерен защитить предоставленные веб-службы SOAP с помощью применения определенных политик WS-Security, в частности «SAML 2.0 Bearer» и «SAML 2.0 Sender Vouches».Учетные данные, предоставленные в токенах SAML, должны использоваться для инициализации контекста безопасности EJB для применения правильной авторизации пользователя в EJB-части приложения.

Я успешно использовал встроенный Apache CXF для защиты сетисервисы как таковые, а также для инициализации контекста безопасности веб-сервиса (WebServiceContext.getUserPrincipal()).Однако мне не удается распространить пользовательский контекст из контекста веб-службы в контекст сеанса EJB (SessionContext.getCallerPrincipal()).Любые советы о том, как этого добиться, высоко ценятся.

Пока что я ожидаю, что мне потребуется реализовать функциональность, аналогичную приведенной здесь документации: https://docs.jboss.org/author/display/JBWS/WS-Security#WS-Security-Authenticationandauthorization,, то есть создать перехватчик CXF, аналогичныйhttps://github.com/jbossws/jbossws-cxf/blob/master/modules/server/src/main/java/org/jboss/wsf/stack/cxf/security/authentication/SubjectCreatingPolicyInterceptor.java, который использует учетные данные, указанные в токенах SAML, для создания контекста безопасности EJB.

...