私は次のような問題があります。ユーザのActive Directoryパスワードに '&'が含まれていると、ユーザはwebappにログインできません。 問題のあるLDAPサーバーへのポート転送を使用してローカルマシンでこれをデバッグしましたが、すべて正常に動作します。 しかし、リモートサーバーでそのパスワードでログインすると、失敗します。 以下のldap configのダンプを投稿しました。 また、auth(!)にはシンプルなテキストを使用しています。 良いアイデアから新鮮なので、どんなアイデアも歓迎します。パスワードに「&」を使用してLDAPが失敗します。
Hashtable<String, String> environment = new Hashtable<String, String>();
environment.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
environment.put(Context.SECURITY_AUTHENTICATION, "simple");
environment.put(Context.SECURITY_PRINCIPAL, domainBasedUsername);
environment.put(Context.SECURITY_CREDENTIALS, password);
environment.put(Context.PROVIDER_URL, getActiveDirectoryServerUrl())
IsSynchronizedのトピック:TRUE
はsupportedLDAPVersion:3、2
serverNameの:CN = ABCDC03、CNは=サーバー、CN =はFoo-市、CN =サイト、CN =構成、DCはFOOを= 、DC = comの
でsupportedSASLMechanisms:GSSAPI、GSS-SPNEGO、EXTERNAL、DIGEST-MD5
ldapServiceName:foo.com:[email protected].COM
namingContexts:DC = foo、DC = com、CN =構成、DC = foo、DC = com、CN =スキーマ、CN =構成、DC = foo、DC = com、DC = DomainDnsZones、DC = foo、DC = COM、DC = ForestDNSZonesのは、DCは= FOO、dc = comの
domainControllerFunctionality:3
supportedLDAPPolicies:MaxPoolThreadsの、MaxDatagramRecv、MaxReceiveBuffer、InitRecvTimeout、MaxConnectionsを、MaxConnIdleTime、のMaxPageSize、MaxQueryDurationを、MaxTempTableSize、MaxResultSetSize、MaxNotificationPerConn、MaxValRange
forestFunctionality:2
configurationNamingContext:CN =構成、DCは= FOO、DC = comの
rootDomainNamingContext:DC = FOO、DC = comの
SchemaNamingContext:CN =スキーマ、CN =構成、DCは= FOO、DC = comの
subschemaSubentry:CN =集計、CN =スキーマ、CN =構成、DC =はFOO、DC = comの
のsupportedControl:1.2.840.113556.1.4.319、1.2.840.113556.1.4.801、1.2.840.113556.1.4 0.473,1.2.840.113556.1.4.528,1.2.840.113556.1.4.417,1.2.840.113556.1.4.619,1.2.840.113556.1.4.841,1.2.840.113556.1.4.529,1.2.840.113556.1.4.805 、1.2.840.113556.1.4.521,1.2.840.11 1。 4.9,2.16.840.1.113730.3.4.10,1.2.840.113556.1.4.1504,1.2.840.113556.1.4.1852,1.2.840.113556.1.4.802,1.2.840.113556.1.4.1907,1.2.840.113556.1.4.1948、 1.2.840.113556.1.4.1974、1.2.840.113556.1.4.1341、1.2.840.113556.1.4.2026
のhighestCommittedUSN:9122909
domainFunctionality:2
のDNSHostName:ABCDC03.foo.com
currentTime:20120105081254。0Z
dsServiceName:
TRUE:CN = NTDS設定、CN = ABCDC03、CN =サーバー、CN =はFoo-市、CN =サイト、CN =構成、DCはFOO、DC = comのisGlobalCatalogReadyを=
defaultNamingContext:1.2.840.113556.1.4.800、1.2.840.113556.1.4.1670、1.2.840.113556.1.4.1791、1.2.840.113556.1.4.1935
:DCがfoo、DC = comのsupportedCapabilitiesを=
URLを構成するためにパスワードを使用していると思うかもしれませんが... LDAPは私の強みではありませんが、疑わしいと感じています – SJuan76
問題は、パスワードStrignがURLエンコードされているということです(あなたが何らかの形式で入力したとします)?純粋な推測 –