Apache shiro 属性“sessionManager.globalSessionTimeout”不存在

Posted

技术标签:

【中文标题】Apache shiro 属性“sessionManager.globalSessionTimeout”不存在【英文标题】:Apache shiro Property 'sessionManager.globalSessionTimeout' does not exist 【发布时间】:2013-07-27 12:56:10 【问题描述】:

当我尝试像这样在shiro.ini 中设置会话超时时,我遇到了另一个问题:

securityManager.sessionManager.globalSessionTimeout = 3600000

我得到一个例外:

11:19:44,363 INFO [stdout](MSC 服务线程 1-4) org.apache.shiro.config.ConfigurationException:属性 'sessionManager.globalSessionTimeout' 的对象不存在 输入 org.apache.shiro.web.mgt.DefaultWebSecurityManager。

我用的是shiro 1.2.2,如果你熟悉这个异常请指教。

【问题讨论】:

【参考方案1】:

您缺少 shiro.ini 文件中的一行。

 securityManager.sessionMode=native

在添加上述行后,它将起作用。对于 shiro.ini 文件中的完整配置会话。

 sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager
 securityManager.sessionMode=native
 securityManager.sessionManager.globalSessionTimeout = 60000
 securityManager.sessionManager = $sessionManager

【讨论】:

【参考方案2】:

以上答案现在将导致警告sessionMode 属性已被弃用。

改用这个:

sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager
sessionManager.globalSessionTimeout = 3600000
securityManager.sessionManager = $sessionManager

【讨论】:

以上是关于Apache shiro 属性“sessionManager.globalSessionTimeout”不存在的主要内容,如果未能解决你的问题,请参考以下文章

Apache Shiro - 使用 cn 以外的属性进行身份验证?

如何在 Apache Shiro 中定义属性级权限

Apache Shiro - 用于身份验证和属性的 LDAP/用于授权的 Ini

Apache Shiro:登录时出现 IllegalArgumentException

Apache Shiro 使用手册Shiro 配置说明

关于Apache Shiro权限框架的一些使用误区的解释