2014-09-01 58 views
2

我发现在我们的JBoss 7安装standalone.xml以下选项:JBoss的LDAP baseFilter

<module-option name="baseFilter" value="(&amp;(objectClass=User)(sAMAccountName={0}))"/> 

的&放大器;而不是&看起来很奇怪,但我们的服务登录过程似乎工作到目前为止。你用&还是& amp;在你的配置?对于可能被扩展的特殊字符而言,它是一种通用的“掩蔽”吗?

感谢您对此的任何想法。

Chris

回答

0

它是在XML中转义的标准字符。 XML文件中的和号字符用作XML character entities的前缀。

如果您使用JBoss CLI然后使用&符号而不转义。

/subsystem=security/security-domain=testLdapExample3/authentication=classic/login-module=LdapExtended:add(\ 
    code=LdapExtended, \ 
    flag=required, \ 
    module-options=[ \ 
    ("java.naming.factory.initial"=>"com.sun.jndi.ldap.LdapCtxFactory"), \ 
    ("java.naming.provider.url"=>"ldap://ldaphost.jboss.org"), \ 
    ("java.naming.security.authentication"=>"simple"), \ 
    ("bindDN"=>"cn=Root,dc=jboss,dc=org"), \ 
    ("bindCredential"=>"secret1"), \ 
    ("baseCtxDN"=>"ou=People,o=example3,dc=jboss,dc=org"), \ 
    ("baseFilter"=>"(&(objectClass=User)(sAMAccountName={0}))"), \ 
    ("rolesCtxDN"=>"ou=Roles,o=example3,dc=jboss,dc=org"), \ 
    ("roleFilter"=>"(member={1})"), \ 
    ("roleAttributeID"=>"cn") \ 
    ])