2

我们正在开发“盒子”网络产品,所以我无法预见应用程序的部署环境。此应用程序使用 spring-security。但似乎如果 Tomcat 将应用程序不在根目录下,则以下配置失败:

<sec:http auto-config="true" >
    ....
    <sec:form-login login-page="/ui/Login" />

以下建议:https ://stackoverflow.com/a/6934712/149818使用

#{servletContext.contextPath}不起作用。用户而不是http://foo/myApp/ui/Login被重定向到http://foo/ui/Login

所以我的问题是

  • 如何让#{servletContext.contextPath} 活着
  • 或如何强制 spring-security 识别实际的 contextPath
4

1 回答 1

1

非常感谢@Luke Taylor 和@axtavt - 我的错误是在

<sec:http auto-config="true" use-expressions="true">
     <sec:intercept-url pattern="/ui/Login" 
                        access="IS_AUTHENTICATED_ANONYMOUSLY"/>

当 '/' 出现时 - #{servletContext.contextPath} 开始正常工作。

于 2011-12-12T12:29:45.470 回答