我有login.xhtml
,managePage.xhtml
和sessionTimeout.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
/faces/protected/*
和/faces/protected/**
。我用了一个(*)。它
作品。答案 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。