在spring security(3.0.x)中指定变量上下文路径

时间:2011-12-09 12:53:28

标签: tomcat spring-security contextpath

我们正在开发“盒子”网络产品,因此我无法预见部署应用程序的环境。此应用程序使用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} alive
  • 或如何强制spring-security识别实际的contextPath

1 个答案:

答案 0 :(得分:1)

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

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

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