0

Spring Security に従って必要に応じて提供される SSL セットアップ、クライアントおよびサーバー証明書 (X.509) で動作する jetty があり、これまではすべて正常に動作し、ログによって検証されているようです。

今!問題は、安全なページにアクセスすると、クライアント (Chrome) が証明書を送信し、サーバーが証明書を正常に受信した後、空のユーザーが返されることです。ここで何が起こっているのか、何か知っている体はありますか?

私はここで何をしようとしているのかについていくつかの情報を提供しています:

環境

Windows/Jetty (バージョン: 8.1.11.v20130520)/Spring Security (3.2.0)

桟橋のコネクタ (バージョン: 8.1.11.v20130520)

<connector implementation="org.eclipse.jetty.server.ssl.SslSocketConnector">
    <port>9443</port>
    <keystore>src/test/resources/server.jks</keystore>
    <needClientAuth>true</needClientAuth>
    <keyPassword>password</keyPassword>
    <password>password</password>
</connector>

セキュリティ構成ファイル

<sec:x509 subject-principal-regex="CN=(.*?)" 
          user-service-ref="myUserDetailsService" />

ログ抽出

09:42:24:214 DEBUG org.springframework.security.web.authentication.preauth.x509.SubjectDnX509PrincipalExtractor (SubjectDnX509PrincipalExtractor.java:43) - サブジェクト DN は「CN=rod、OU=Spring Security、O=Spring Framework」09 :42:24:218 DEBUG org.springframework.security.web.authentication.preauth.x509.SubjectDnX509PrincipalExtractor (SubjectDnX509PrincipalExtractor.java:58) - 抽出されたプリンシパル名は ''

4

2 に答える 2

2

subject-principal-regex使い方が間違っています。抽出されたプリンシパルをrodログ メッセージの DN に使用する場合は、パターンをCN=(.*?),(末尾のコンマに注意してください) に設定します。ところで、これがデフォルトのパターンだと思うので、この設定を飛ばしても構いません。

于 2013-06-06T10:19:34.550 に答える