RESTFul Web サービスといくつかの Web ページで構成される Web アプリケーションがあります。Web ページは、JQuery getJSON を使用して Web サービスからデータを取得し、ページに表示します。セキュリティの制約なしでアプリケーションをデプロイすると、すべてが期待どおりに機能します。
Web サービス リソースと Web ページの両方にセキュリティ制約を適用すると、ログイン ページにリダイレクトされます。正常にログインでき、要求された元の URL にリダイレクトされますが、コードの getJSON 行が処理されると、ブラウザは Web サービス リソース URL にリダイレクトします。データは正常に取得されましたが、このリダイレクトを停止して、最初に要求された URL にとどまる必要があります。
編集: web.xml からのセキュリティ構成は次のとおりです...
<web-resource-collection>
<web-resource-name>WebPage</web-resource-name>
<description/>
<url-pattern>/index.html</url-pattern>
</web-resource-collection>
<web-resource-collection>
<web-resource-name>WebService</web-resource-name>
<description/>
<url-pattern>/webresources/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<description/>
<role-name>user</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
</form-login-config>
</login-config>
<security-role>
<description/>
<role-name>user</role-name>
</security-role>
任意の提案をいただければ幸いです。
更新: セキュリティ制約が Web サービス リソースから削除された場合、すべてが期待どおりに機能し、ブラウザーのリダイレクトが発生しないため、問題は Web サービスの保護に関連しているようです。