在apache shiro中重定向会话超时页面

时间:2014-08-12 04:31:48

标签: java jsf session-timeout shiro

我有login.xhtmlmanagePage.xhtmlsessionTimeout.xhtml。我希望在会话超时时重定向sessionTimeout页面。但只要会话超时,它就会重定向到登录页面。

在web.xml中

<session-config>
    <session-timeout>1</session-timeout>
  </session-config>

  <error-page>
    <exception-type>javax.faces.application.ViewExpiredException</exception-type>
    <location>/sessionTimeout.xhtml</location>
  </error-page>

in shiro.ini

[main]
authc.loginUrl = /faces/loginPage.xhtml
authc.successUrl  = /faces/registerPage.xhtml
# ------------------------  
  ....
# -----------------------------------------------------------------------------  
[urls]  
/faces/protected/* = authc
  1. 我希望在会话开始时重定向sessionTimeout页面 出。
  2. 我想知道之间的区别 /faces/protected/*/faces/protected/**。我用了一个(*)。它 作品。

1 个答案:

答案 0 :(得分:0)

如果您添加以下内容:

[urls]
/faces/sessionTimeout.xhtml = anon
/faces/protected/** = authc

会话超时页面未受保护,不应将您重定向到登录。 或者如果真实路径没有/ faces:

[urls]
/sessionTimeout.xhtml = anon
/protected/** = authc

至于问题二:**语法是ant-style。它表示目录中的所有内容,以及下面的所有内容。 例如:

/ foo / *匹配/foo/bar.html,但不匹配/foo/foo/bar.html。

使用/ foo / **时,它们都匹配。

有关详细信息,请查看“模式”部分中的http://ant.apache.org/manual/dirtasks.html