虽然shiro有自己默认的logout过滤器,但是,有些时候,我们需要自己定义一下操作,比如说loutgout后,进入指定页面,或者logout后写入日志操作,这个时候,我们可以通过自定义logout filter来实现:

1,自定义一个systemLogout继承字logout filter,并重写preHandle方法

/*** @author:lyy* @Date: 2014/10/14 9:33* @version:* @Description:*/
@Service
public class SystemLogout extends LogoutFilter{@AutowiredLogManDataInf logManDataInfImpl;@Override@Overrideprotected boolean preHandle(ServletRequest request, ServletResponse response) throws Exception {//在这里执行退出系统前需要清空的数据Subject subject = getSubject(request, response);String redirectUrl = getRedirectUrl(request, response, subject);try {subject.logout();} catch (SessionException ise) {ise.printStackTrace();}
//跳转到登录页面
        issueRedirect(request, response, redirectUrl);//返回false表示不执行后续的过滤器,直接返回跳转到登录页面return false;}
}

2,在配置自定义的filter进入filter chain中

<!-- Shiro 的Web过滤器 -->
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"><property name="securityManager" ref="securityManager" /><property name="loginUrl" value="/login" /><property name="filters"><map><entry key="logout" value-ref="systemLogout" /></map></property><!-- 过虑器链定义,从上向下顺序执行,一般将/**放在最下边 --><property name="filterChainDefinitions"><value><!-- 对静态资源设置匿名访问 -->/resources/** = anon/taglib/** = anon<!-- 请求 logout地址,shiro去清除session-->/logout = logout/login = anon<!--/** = anon-->/** = authc</value></property>
</bean>

转载于:https://www.cnblogs.com/ningheshutong/p/8134008.html

shiro自定义logout filter相关推荐

  1. shiro 自定义logout路径

    ${adminPath}/logout = logout shiro 登出走 LogoutFilter 过滤器,登出默认重定向到redirecUrl这个地址(/) public class Logou ...

  2. shiro学习系列:shiro自定义filter过滤器

    shiro学习系列:shiro自定义filter过滤器 自定义JwtFilter的hierarchy(层次体系) 上代码 package com.finn.springboot.common.conf ...

  3. shiro自定义filter

    这里我们来做一个需求 我们在shiroconfigrution里面定义了我们的角色权限 这个意思是角色只有包含base和admin这两个角色的时候,我们才能访问/dd这个url /dd这个url只是一 ...

  4. Spring和shiro整合 logout 配置方式

    2019独角兽企业重金招聘Python工程师标准>>> 1. 普通的action中 实现自己的logout方法,取到Subject,然后logout这种需要在ShiroFilterF ...

  5. springboot项目中使用shiro 自定义过滤器和token的方式___shiro使用token登录流程

    springboot项目中使用shiro 自定义过滤器和token的方式 实现步骤主要是以下几步: 1. 在项目中导入maven依赖 <dependency><groupId> ...

  6. springboot+shiro自定义拦截器互踢问题

    shiro自定义拦截器继承AccessControllerFilter,实现session互踢机制. 应用场景: 我们经常会有用到,当A 用户在北京登录 ,然后A用户在天津再登录 ,要踢出北京登录的状 ...

  7. Shiro笔记五:Shiro内置Filter过滤器

    Shiro笔记五:Shiro内置Filter过滤器 shiro内置的过滤器 核心过滤器类:DefaultFilter,配置哪个路径对应哪个拦截器进行处理. authc:org.apache.shiro ...

  8. Spring Boot自定义 Servlet Filter 的两种方式

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 码农小胖哥 来源 | 公众号「码农小胖哥」 针 ...

  9. 从实例入手学习Shiro自定义Realm实现查询数据进行验证

    场景 从实例入手学习Shiro与Web的整合: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/90140802 在上面已经实现整合 ...

  10. 一个自定义 HBase Filter -“通过RowKeys来高性能获取数据”

    摘要: 大家在使用HBase和Solr搭建系统中经常遇到的一个问题就是:"我通过SOLR得到了RowKeys后,该怎样去HBase上取数据".使用现有的Filter性能差劲,网上也 ...

最新文章

  1. 带头结点的单链表的逆置
  2. C# .Net 视频下载功能(本机文件)及转发下载功能(Http远程文件)
  3. guid主键 oracle_使用GUID作为数据库主键的测试
  4. [css] 固定的外框尺寸,里面的图片尺寸不固定,如何让图像自适应外框呢?
  5. python接口测试jason_Python 接口测试之Json数据文件操作
  6. @getMapping与@postMapping
  7. java session失效之后跳转,session失效后如何实现页面不跳转到主页而是跳转到session失效时的页面...
  8. vs调试 右键 没有监视变量_IAR EWARM的SWO Trace调试功能
  9. Google浏览器清除缓存快捷键
  10. STM32l151 使用滴答计时器精准延时1us,1ms
  11. 蓝桥杯常用代码模板总结(C/C++)
  12. Android手游3d模型导出,楚留香手游3D模型怎么提取 提取教程
  13. Flex ikev2
  14. android手机拍摄视频格式,怎么用手机给自己拍摄的视频加上字幕?安卓手机视频编辑器给视频加字幕的方法...
  15. 骨传导耳机伤害耳朵吗?长期使用骨传导耳机有什么危害
  16. matlab 邦加球,吴先良(软件学院)老师 - 安徽大学
  17. Sql server日志
  18. 海外代购系统/代购网站怎么搭建——源码解析
  19. AWS configure region 配置错误了怎么更正
  20. pfa100_PFA 的主要性能

热门文章

  1. 关于触摸方向判断的bug
  2. linux下echo /dev/ttys* 到字符设备文件,Linux系统的终端特殊设备文件
  3. csv数据去重 python_数据去重_Python数据分析实战应用_数据挖掘与分析视频-51CTO学院...
  4. 实现截图页面并导出word
  5. 【渝粤教育】国家开放大学2018年春季 0603-22T建筑工程管理与实务 参考试题
  6. 【渝粤教育】电大中专跨境电子商务理论与实务 (3)作业 题库
  7. python将txt文档中的内容按字母顺序进行排序,并存入txt中
  8. MySQL 是如何解决幻读的
  9. 传输模型, tcp socket套接字
  10. ELK 架构之 Elasticsearch 和 Kibana 安装配置