我正在使用Tuckey的URL重写过滤器与本土安全过滤器结合使用。
/*
此外,URL重写过滤器具有以下规则:
<rule>
<name>User</name>
<from>^/user/$</from>
<to>/user.do</to>
</rule>
对于以下请求: myapp / user / 我期待此流程:
但是,每当Tuckey的URL Rewrite应用规则时,第二步就会跳过。这会导致非常不愉快的行为,例如在没有正确身份验证的情况下访问受保护的页面。
我错过了什么吗?我应该期待另一种行为吗?
答案 0 :(得分:3)
这是因为通常urlrewritefilter不会重定向url。它只是在内部转发它。尝试添加type =“redirect”作为属性,安全过滤器将捕获重定向的请求。
<rule>
<name>User</name>
<from>^/user/$</from>
<to type="redirect">/user.do</to>
</rule>
之前对我有用。
答案 1 :(得分:1)
如果您执行 type =“redirect”,客户端将获得302“临时重定向”状态,最终会将浏览器重定向到新网址。
如果您希望用户仍然在浏览器的地址栏中看到旧的“来自”网址,请尝试将这些添加到“安全”过滤器中:
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>