0

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 サービスの保護に関連しているようです。

4

0 に答える 0