shrio+cas

shrio限制并发人数与剔除

2018-04-23  本文已影响0人  leslieYoung

shrio限制并发人数与剔除

1.定义过滤器KickoutSessionControlFilter

  建一个KickoutSessionControlFilter.java文件

  设置5个参数:

    kickoutUrl:踢出后到的地址

    boolean kickoutAfter:false:踢出之前登录的;true:之后登录的用户

    maxSession:同一个帐号最大会话数 默认1

    sessionManager;

    cacheManager;

2.配置shrio.xml文件

  <property name="filters">

        <map>

            <entry key="kickout" value-ref="kickoutSessionControlFilter"/>

        </map>

  </property>

  <bean id="kickoutSessionControlFilter" class="com.agood.bejavagod.controller.filter.KickoutSessionControlFilter"> 

        <property name="cacheManager" ref="shiroEhcacheManager"/> 

        <property name="sessionManager" ref="sessionManager"/>

        <!-- 是否踢出后来登录的,默认是false;即后者登录的用户踢出前者登录的用户 -->

        <property name="kickoutAfter" value="false"/> 

        <!-- 同一个用户最大的会话数,默认1;比如2的意思是同一个用户允许最多同时两个人登录 -->

        <property name="maxSession" value="1"/> 

        <property name="kickoutUrl" value="/login.action"/> 

  </bean>

3.修改过滤器配置,拦截所有请求

shrio.xml文件中

/** = kickout,authc

上一篇 下一篇

猜你喜欢

热点阅读