0

我有一个由 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 服务有关。

4

0 回答 0