私はLDAPログインに依存するアプリケーションを作成しています。ユーザーが有効なLDAP資格情報を使用してシステムにログインすると、その時点からアプリケーションとやりとりするためにAPIトークンが使用されます(APIドリブンWebアプリケーション)。ただし、LDAPサーバーからユーザーが削除されるたびにAPIキーも取り消されるように、アプリケーションを設定する必要があります。私の計画は、定期的にLDAPクレデンシャルが有効かどうかをチェックするためのcronジョブを設定することです。したがって、後で確認できるように、これらの資格情報を保存する必要があります。しかし、これは、ユーザーがプレーンテキストとして提供するパスワードを保存する必要があることを意味します。そうしないと、検証のためにLDAPサーバーにパスワードを送信できなくなります。LDAPパスワードをプレーンテキストとして保存しないでLDAP資格情報を確認することは可能ですか
私は個人的にはLDAPに慣れていないので、これを回避する方法があるのだろうかと思っていました。私はパスワードのハッシュを保存することを考え、パスワード自体の代わりにパスワードのハッシュを使ってクレデンシャルを検証することができたかどうか疑問に思ったが、それが本当に安全ではないことをすぐに認識した。パスワードがハッシュ化されているかどうかは関係ありません。どちらも認証に使用できる場合は問題ありません。その唯一の利点は、ユーザーが他のサービスに同じパスワードを使用しているかどうかを確認することが難しいことです。
すべての提案をいただければ幸いです。ありがとう!
パスワードをプレーンテキストとして保存しますか?本当に?これはどのようにオプションですか? –
@ TheBeardedLlamaそれは私が解決しようとしている問題です: ') –
なぜですか?そのユーザーがまだ存在するかどうかを調べるために、ユーザー*として再度ログインする必要はありません。通常、このような検索を行うには、LDAP管理者としてログインします。また、現在のセッションがある間にユーザーの削除を検出する必要があるかどうかは議論の余地があります。次回の(失敗した)ログイン時に有効にするだけで、削除時にユーザーセッションを期限切れにして直ちに再ログインを試み、失敗する可能性があります。 – EJP