OpenLDAP + Spring Security を機能させることができました。Spring Security xml でプレーンテキストのパスワードを入力する必要があるという小さな問題を除いて、すべて正常に動作します。
<beans:bean id="ldapContextSource" class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
<beans:constructor-arg value="ldap://153.65.x.y:389/dc=example,dc=com" />
<beans:property name="userDn" value="cn=Manager,dc=example,dc=com" />
<beans:property name="password" value="secret" />
</beans:bean>
これを回避する方法はありますか?
OpenLDAP をセットアップすると、平文のパスワードの代わりにダイジェストをslapd.confに実際に追加できました。
rootpw {SSHA}ZMFfVNPAazmLcif1xC2l9y9SFdKd+x4
だから私は春のセキュリティが同様のことをできることを望んでいます.
編集:
ここに LDAP マネージャーの名前とパスワードを入力する必要はなく、uri を指定するだけで、春のセキュリティが機能するのに十分であることに気付きました。
<beans:bean id="ldapContextSource" class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
<beans:constructor-arg value="ldap://153.65.x.y:389/dc=example,dc=com" />
</beans:bean>
ここで誤解がありました。このサンプルを作成しようとしたとき、Google から取得したかなりの数のサンプルが、Spring セキュリティ xml にマネージャー名とパスワードを入れました。そのため、これは JDBC を介してデータベースに接続するようなものであり、データベースのユーザー名とパスワードを提供する必要があると考えていました。これは正しくありません。マネージャー名とパスワードは必要ありません。