2

既存のSpringSecurity実装でPKI認証をどこでどのように実装できるかを理解しようとしています。

tomcatのserver.xmlの構成を変更して、「通常の」ユーザー名とパスワードの認証、次に「PKI」認証を処理する2つのコネクターを使用しました。違いは、PKIコネクタでclientAuthが有効になっており、マシン上で発行されたトラストストアを指していることです。

これにより、ユーザーは認証方法を選択できます。通常のユーザー名/パスワード認証をクリックして一方のコネクタに移動するか、PKI認証をクリックしてもう一方のコネクタを使用できます。私のTomcatの構成では、ユーザーに証明書を使用し、X509Certificate証明書チェーンでHttpServletRequestを受信するPINを入力するように正しく求められます。

これで設定が完了したので、どちらの形式の認証も許可するようにSpringSecurityを構成するにはどうすればよいですか。ユーザー名/パスワードの代わりに証明書のEDIを使用する方法を理解しようとしていますが、有効期限の確認、カードが取り消されているかどうかの確認などのセキュリティチェックを引き続き行っています。

どんなアイデアやリンクも大歓迎です、ありがとう!

4

1 に答える 1

2

私が正しく理解していれば、ユーザーがコネクタを選択できるように、さまざまなポートとログインページにすでにさまざまなTomcatコネクタがあります。次に、コネクタの1つでX.509認証を設定します。

SpringdocsからのドロップインX.509構成が機能します-証明書からCNを抽出し、それをユーザー名として使用します。

ただし、認証の微調整またはより詳細な制御が必要な場合は、プレーンBean構成を使用してセットアップする必要がありますspringSecurityFilterChain。このような構成の実例はここにあります。

于 2012-03-18T21:39:22.037 に答える