我正在尝试让Tuckey UrlRewriteFilter为我的webapp整理网址.我遇到的一个问题是,当
spring-security注意到匿名用户试图访问受保护资源时,它会重定向到包含servlet路径的URL.
我想要的是,例如:
> GET http://localhost:8080/my-context/protected-resource
< Location: http://localhost:8080/my-context/login
我目前得到的是:
> GET http://localhost:8080/my-context/protected-resource
< Location: http://localhost:8080/my-context/-/login
到目前为止我找到的相关文件:
我想知道的是:
>可以/应该说服Tuckey重写Location标头. 在这里似乎没有任何帮助.
>可以/我应该以某种方式调整SS配置以发出重写的URL.我认为这不是很整洁,因为如果禁用重写就会中断.
web.xml看起来像
UrlRewriteFilter
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
LogLevel
log4j
UrlRewriteFilter
/*
REQUEST
springSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
springSecurityFilterChain
/*
REQUEST
FORWARD
INCLUDE
ERROR
my-servlet
org.springframework.web.servlet.DispatcherServlet
1
psms
/-/*
urlrewrite.xml看起来像:
^/(.*)$
/-/$1
applicationContent-security.xml看起来像:
login-processing-url="/-/login.do"
authentication-failure-url="/-/login?login_error"
default-target-url="/-/index"
always-use-default-target="true"/>
logout-success-url="/-/login"/>