CAS身份验证 - UrlRewriteFilter使request.getRemoteUser()无效

时间:2012-02-29 15:54:17

标签: java tomcat url-rewriting servlet-filters cas

我正在尝试使用UrlRewriteFilter,这是我的urlrewrite.xml:

<!DOCTYPE urlrewrite
    PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN"
    "http://www.tuckey.org/res/dtds/urlrewrite3.2.dtd">

<urlrewrite>
    <rule>
       <from>^/([a-z]+)$</from>
       <to>/$1.jsp</to>
    </rule>
</urlrewrite>

如果我通过转发访问页面,问题是request.getRemoteUser()为空。 当我直接访问页面时,一切正常。

我检查了请求标头,但看不出任何差异。 我正在使用CAS身份验证,看起来问题恰好在CAS中 - 我试过使用http basic auth,一切都很好。

所以,问题是我做错了什么?

1 个答案:

答案 0 :(得分:0)

解决方案非常简单 - 因为CAS包装(我猜)request.getRemoteUser(),所以在 CAS过滤器之后放置UrlRewriteFilter 非常重要。

希望这会帮助其他人)