セキュリティとセッション管理に shiro を使用する jsf アプリケーションで、デフォルトのセッション タイムアウトを変更する必要があります。デフォルトは 30 分です。
以下は私のshiro構成です
<filter>
<filter-name>ShiroFilter</filter-name>
<filter-class>org.apache.shiro.web.servlet.IniShiroFilter</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>
[main]
authc = com.foo.bar
authcRealm = com.foo.barAuthenticatingRealm
sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager
securityManager.sessionManager = $sessionManager
securityManager.sessionManager.globalSessionTimeout = 20000
unAuthc = com.foo.UnauthorisedFilter
/** = authc
</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>ShiroFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
上記の構成を使用すると、ログイン時にすぐにログアウトされます。次の行を削除すると、デフォルトでタイムアウトが 30 分に設定されます
sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager
securityManager.sessionManager = $sessionManager
securityManager.sessionManager.globalSessionTimeout = 20000