druid设置了principalSessionName导致shiro执行logout的时候提示session不存在

小草一号 发布于 2015/01/19 13:09
阅读 2K+
收藏 0

@wenshao 你好,想跟你请教个问题:

druid设置了principalSessionName导致shiro执行logout的时候提示session不存在

web.xml:

<filter>
    <filter-name>shiro</filter-name>
    <filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>shiro</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  
    <filter>
        <filter-name>DruidWebStatFilter</filter-name>
        <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
        <init-param>
            <param-name>exclusions</param-name>
            <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,*.jpgx,/druid/*</param-value>
        </init-param>
        <init-param>
            <param-name>principalSessionName</param-name>
            <param-value>session_user_du</param-value>
        </init-param>
        <init-param>
            <param-name>profileEnable</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>sessionStatMaxCount</param-name>
            <param-value>1000</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>DruidWebStatFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
    <filter>
    <filter-name>jfinal</filter-name>
    <filter-class>com.jfinal.core.JFinalFilter</filter-class>
    <init-param>
      <param-name>configClass</param-name>
      <param-value>com.southinfo.oa.config.CommonConfig</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>jfinal</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

加载中
0
深蓝蝴蝶
深蓝蝴蝶

也遇到类似问题,找了好久没有答案,自行解决了。分享解决办法给大家。

1、shiro的logout自行管理remove session的处理,不要自定义

2、web.xml中,排除logout。例如/logout.html

        <init-param>
            <param-name>exclusions</param-name>
            <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,*.jpgx,/druid/*,/logout.html</param-value>
        </init-param>

 

返回顶部
顶部