0

Spring Security 3 で SOAP Web サービスを保護しようとしています。

これは私の構成です:

<jee:jndi-lookup id="dataSource" jndi-name="jdbc/myDB"
         expected-type="javax.sql.DataSource" />

<http authentication-manager-ref="authenticationManager">
     <intercept-url pattern="/**" access="ROLE_USER" requires-channel="https" />
     <http-basic />
     <logout logout-url="/logout" delete-cookies="JSESSIONID" />
</http>

<authentication-manager id="authenticationManager">
   <authentication-provider>
      <jdbc-user-service data-source-ref="dataSource" />
   </authentication-provider>
</authentication-manager>

Tomcat は SSL 用に構成され、サーバーの秘密鍵を含むキーストアが使用されます。SOAPUI を使用して Web サービスをテストしています。サービスが提供する操作の 1 つを実行するリクエストを作成しました。Auth セクションでは、データベースに存在する値に従って、テスト ユーザーのユーザー名とパスワードを追加しました。リクエストを送信した後、セッションが作成され、再度認証する必要がないことを期待しています。HTTP 応答には、JSESSIONID Cookie が含まれています。Web サイトが同じメカニズムによって保護されている場合、ユーザーは、再認証が必要になったときにセッションが期限切れになるまで、資格情報を 1 回だけ入力します。

構成の何が問題になっていますか?


編集:同じリクエストを複数回再送信すると、受信した JSESSIONID Cookie の値が常に異なることを追加するのを忘れていました。特定のセッションで同じであると期待する必要がありますか?

4

1 に答える 1

0

TestCase Options の下で、"Maintain HTTP Session" オプションをオンにする必要があります。残念ながら、これはテストケースごとに個別に行う必要があり、グローバルなオプションはありません。

于 2015-04-01T21:43:37.237 に答える