Switchyard基本认证

swe*_*tfa 11 authentication jboss

login-config.xml中定义了以下身份验证策略

<policy>

<!--- - - - -->
  <application-policy name="myAuthenticationPolicy">
    <authentication>
      <login-module code="com.ge.trans.mp.samp.jaas.LoggingLdapExtLoginModule" flag="required">
        <module-option name="java.naming.factory.initial">com.sun.jndi.ldap.LdapCtxFactory</module-option>
Run Code Online (Sandbox Code Playgroud)

开关站配置如下:

<switchyard xmlns="urn:switchyard-config:switchyard:1.0"
                xmlns:sy="urn:switchyard-config:switchyard:1.0"
                xmlns:bean="urn:switchyard-component-bean:config:1.0"
                xmlns:camel="urn:switchyard-component-camel:config:1.0"
                xmlns:http="urn:switchyard-component-http:config:1.0"
                xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912">
  <sca:composite name="http-bridge-esb" targetNamespace="urn:switchyard-quickstart:http-binding:1.0">
    <sca:service name="httpPostService" promote="HttpPostBuilder/HttpPost" **sy:security="basic-auth"**>
      <http:binding.http>
        <operationSelector operationName="postMessage"/>
        <http:contextPath>myContextPath</http:contextPath>
      </http:binding.http>
    </sca:service>
    <sca:component name="HttpPostBuilder">
       <camel:implementation.camel>
        <camel:xml path="META-INF/route.xml"/>
      </camel:implementation.camel>
      <sca:service name="HttpPost">
        <sca:interface.java interface="my.post.Class"/>
      </sca:service>
    </sca:component>
  </sca:composite>
  <domain>
    <securities>
      <**security name="basic-auth"** securityDomain="myAuthenticationPolicy" rolesAllowed="mesgPoster"/>
    </securities>
  </domain>
</switchyard>
Run Code Online (Sandbox Code Playgroud)

此配置在JBoss 6.1 EAP中启动,似乎正确接收消息,但似乎无法进行身份验证.

我假设默认用户名密码回调处理程序用于处理基本身份验证,并且还假设安全元素中的安​​全域引用与login-config.xml中配置的应用程序策略名称相关.

我似乎找不到使用LDAP配置策略显示基本身份验证的示例配置.

如果有人可以指出我所缺少的点,或者某个地方存在switchyard基本身份验证配置的示例,那将非常感激.

C. *_*lor 0

您的 login-config.xml 不完整且无效。

它应该看起来像这样:

<application-policy name="myAuthenticationPolicy">
  <authentication>
    <login-module flag="required" code="org.jboss.security.auth.spi.LdapExtLoginModule">
      <module-option name="java.naming.factory.initial">com.sun.jndi.ldap.LdapCtxFactory</module-option>
      <module-option name="java.naming.provider.url">ldap://XXX:389/</module-option>
      <module-option name="java.naming.security.authentication">simple</module-option>
      <module-option name="bindDN">XXX\XXX</module-option>
      <module-option name="bindCredential">XXX</module-option>
      <module-option name="baseCtxDN">dc=XXX,dc=XXX</module-option>
      <module-option name="baseFilter">(sAMAccountName={0})</module-option>
      <module-option name="rolesCtxDN">dc=XXX,dc=XXX</module-option>
      <module-option name="roleFilter">(member={1})</module-option>
      <module-option name="roleAttributeIsDN">true</module-option>
      <module-option name="roleNameAttributeID">name</module-option>
      <module-option name="java.naming.referral">follow</module-option>
    </login-module>
  </authentication>
</application-policy>
Run Code Online (Sandbox Code Playgroud)