0
我試圖使用Spring Security 3SOAP的Web服務和春季安全
確保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服務。我創建了一個執行服務提供的操作之一的請求。在Auth部分中,我根據數據庫中存在的值添加了測試用戶的用戶名和密碼。在發送請求之後,我期望創建一個會話,並且不需要再次進行身份驗證。在HTTP響應中,JSESSIONID cookie存在。當網站受到同一機制的保護時,用戶只需輸入一次憑證,直到會話過期,需要重新進行身份驗證。
我的配置有什麼問題?
編輯:我忘了補充一點,當我多次重新發送相同的請求,接收到的JSESSIONID的cookie始終不同的值。我應該期望它在某個特定會議上是否一樣?
SoapUI是否正確發回cookie? – artbristol
@artbristol對於SOAPUI發送的每條消息,似乎都會生成一個新的JSESSIONID cookie。我不知道爲什麼。 –
這將是因爲SoapUI沒有爲每個新請求返回原始cookie。 – artbristol