我有一个由RESTFul Web服务和一些网页组成的Web应用程序。网页使用JQuery getJSON从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服务有关。