ユーザーがパスワードを変更しようとしたときに、「制約違反」以上のことをユーザーに通知することは可能ですか?
推測させるのではなく、「パスワードは 7 文字以上でなければなりません」のような感じでしょうか?
オープンDJ
答え1
LDAP サーバーは何ですか?
Err 19、LDAP_CONSTRAINT_VIOLATION - 変更、追加、または DN の変更操作で指定された属性値が、属性に設定された制約に違反していることを示します。制約は、サイズまたはコンテンツ (文字列のみ、バイナリなし) のいずれかになります。
ほとんどのLDAPサーバーは、パスワードや属性の欠落部分に関する十分な情報をすでに提供しています。389ディレクトリサーバーまたはRHDSを確認してください。389-dsからのサンプルは次のとおりです。
[17/Aug/2012:22:24:59 +0000] conn=85 op=14 RESULT err=19 tag=103 nentries=0 etime=0
[17/Aug/2012:22:24:59 +0000] conn=85 op=14 MOD dn="uid=redhat,ou=Users,dc=example,dc=com", within password minimum age
答え2
応答に詳細なエラー コードを提供する LDAP 拡張パスワード変更要求を使用するようにコードを変更する必要があります。
答え3
古い質問ですが、今日、外部のセルフサービス パスワード Web アプリでまさにこの問題が発生しました。SSP Web アプリは、パスワードが 389-DS に到達する前に SSHA 化していたため、389-DS はハッシュを受け取っていたことが判明しました。
SSP Web アプリでは、パスワードをクリアのままにしておき、書き込み時に 389-DS がパスワードを暗号化できるようにする必要があります。(SSP Web アプリは、LDAP との通信に AES-256 を使用した TLS 1.2 を使用するため、クリア パスワードは転送中のほとんどの HTTPS Web サイトと同じくらい安全です。)
答え4
より詳細なメッセージを提供することは推奨されません。LDAP 応答に詳細なテキストを含めると、攻撃者を助けるだけになります。