2015-08-06 3 views
0

У меня есть область безопасности на уровне http-коннектора (ApplicationRealm), и у меня есть еще одна область безопасности для моего удаленного исходящего соединения, которое является MyRealm. Когда я настроить свойства JBoss-EJB-клиент, я поставил эти две следующие свойства:Проблема с дислокацией Wildfly-8.2.0 с областью безопасности

remote.connection.default.username = $ {имя пользователя}
remote.connection.default.password = $ {пароль}

, который помогает мне аутентифицировать ApplicationRealm с удаленным сервером. Проблема, с которой я сталкиваюсь, заключается в том, что когда я нахожусь на удаленном сервере, вы не можете пройти через область безопасности: MyRealm, потому что принципал не используется между серверами, и у меня нет или нет способа отправить необходимую информацию для аутентификации пользователя на другом сервере, поскольку имя пользователя и пароль, которые я получаю от JBossCallbackHandler, на самом деле являются учетными данными, используемыми для ApplicationRealm, а не для проверки моего второго состояния.

Я попытался удалить security-realm = "ApplicationRealm", но он терпит неудачу, поскольку для этого требуется аутентификация mecanism.

Есть ли способ отправить информацию на удаленный сервер, кроме имени пользователя или пароля, например, для проверки подлинности MyRealm? Есть ли способ отключить ApplicationRealm, заменить его или удалить его?

<subsystem xmlns="urn:jboss:domain:remoting:2.0"> 
     <endpoint worker="default"/> 
     <http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/> 
     <outbound-connections> 
      <remote-outbound-connection name="remote-ejb-connection" outbound-socket-binding-ref="remote-ejb" username="ejb" security-realm="MyRealm" protocol="http-remoting"> 
       <properties> 
        <property name="SASL_POLICY_NOANONYMOUS" value="true"/> 
        <property name="SSL_ENABLED" value="false"/> 
        <property name="SASL_POLICY_NOPLAINTEXT" value="false"/> 
       </properties> 
      </remote-outbound-connection> 
     </outbound-connections> 
    </subsystem> 

Thank you!

ответ

0

Описанная здесь ситуация является одной из основных мотивов текущей работы по безопасности в WildFly - распространение безопасности с сервера на сервер - это то, к чему мы активно работаем.

http://darranl.blogspot.co.uk/2015/07/upcomming-wildfly-security-changes.html

В то же время в следующем Quickstart демонстрирует один из подходов, которые могут быть приняты с помощью перехватчики для распространения идентичности с одного сервера к другому: -

https://github.com/wildfly/quickstart/tree/9.x/ejb-security-interceptors

По существу, второй сервер аутентифицирует первый сервер, поэтому этот быстрый запуск показывает, как второй сервер может доверять первому серверу, когда первый сервер запрашивает, что запрос выполняется от имени другого пользователя.

+0

спасибо :) это поможет мне много! – alhola

Смежные вопросы