shiro退出登陆清空缓存实现

上一篇介绍了使用springmvc集成shiro登陆过程(http://www.cnblogs.com/nosqlcoco/p/5579081.html),通过FormAuthenticationFilter过滤器获取到用户输入的账号密码。

shiro是一个被广泛使用的安全层框架,通过xml配置方式与spring无缝对接,用户的登陆/退出/权限控制/Cookie等管理系统基础功能交给shiro来管理。

一般,在JavaWEB管理平台系统时,用户退出系统之前没需要清除用户数据和关闭连接,防止垃圾数据堆积,shiro提供了LogoutFilter过滤器,我们可以继承LogoutFilter,重写preHandle方法,实现清除缓存功能。

spring-shiro.xml:

/b/login = authc

/b/logout = logout

/b/** = user

当调用的路径匹配到/b/logout,会进入到SystemLogoutFilter过滤器,SystemLogoutFilter继承了LogoutFilter,并重写了preHandle方法,在preHandle方法执行需要清空的数据。

@Service

public class SystemLogoutFilter extends LogoutFilter {

@Override

protected 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;

}

}

注意,需要通过@Service注解,使用spring容器来管理,在spring-shiro.xml中配置shiro过滤器直接使用

分享知识-快乐自己:Shiro 退出登陆清空缓存实现

shiro是一个被广泛使用的安全层框架,通过xml配置方式与spring无缝对接,用户的登陆/退出/权限控制/Cookie等管理系统基础功能交给shiro来管理. 一般,在JavaWEB管理平台系统时 …

android退出登陆后,清空之前所有的activity,进入登陆主界面

如题: android退出登陆后,清空之前所有的activity,进入登陆主界面 在退出登陆时只需要增加一个intent标志 Intent intent_login = new Intent(); i …

ecshop 实现购物车退出不清空

ecshop模板在使用过程中会遇到会员退出再登陆时购物车里面的商品会被清空掉的,通过ecshop开发中心的技术,整理的文档,对程序做简单修改即可实现会员退出不清空购物车 ECShop版本:V2.7.3 …

Spring集成shiro做登陆认证

一.背景 其实很早的时候,就在项目中有使用到shiro做登陆认证,直到今天才又想起来这茬,自己抽空搭了一个spring+springmvc+mybatis和shiro进行集成的种子项目,当然里面还有很 …

Shiro 自定义登陆、授权、拦截器

Shiro 登陆.授权.拦截 按钮权限控制 一.目标 Maven+Spring+shiro 自定义登陆.授权 自定义拦截器 加载数据库资源构建拦截链 使用总结: 1.需要设计的数据库:用户.角色.权限 …

Android之计算缓存大小并且清空缓存

转载博客:http://www.2cto.com/kf/201503/385492.html 项目中碰到了计算缓存大小和清空缓存的功能,这个很常见的功能,几乎每个APP都有,以为实现很简单,网上搜了一 …

Firefox每次刷新时自动清空缓存的设置方法

当我们开发网页应用时候,为了保证每次看到的页面是最新的,需要在刷新页面时清除页面缓存. 如果每次都手动清除比较麻烦,好在多数浏览器都支持自动清除缓存的功能. IE下我们可以将缓存设置为"每次 …

【转载】 IE/Firefox每次刷新时自动检查网页更新,无需手动清空缓存的设置方法

[参考了别人的文章]我们做技术,经常在写页面的时候需要多次刷新测试,可是浏览器都有自己的 缓存机制,一般CSS和图片都会被缓存在本地,这样我们修改的CSS就看不到效果 了,每次都去清空缓存,再刷新看效 …

IE/Firefox每次刷新时自动检查网页更新,无需手动清空缓存的设置方法

浏览器都有自己的 缓存机制,一般CSS和图片都会被缓存在本地,这样我们修改的CSS就看不到效果 了,每次都去清空缓存,再刷新看效果,这样操作太麻烦了.在IE下我们可以直接 去修改internet选项/ …

随机推荐

Ajax 提交session实效跳转到完整的登陆页面

在spring security 中 Ajax提交时,session超时,局部加载登陆页面,为解决这个问题,重写ajax提交,返回的是modeview或者没有制定datatype时; 如果检测到加载到 …

网站配置好了,在本地能登录系统,但是挂在IIS上就无法登录了,提示数据库连接错误

我用的VS2010开发的网站,但是挂在本机的IIS上的时候就无法登录了,提示错误如下:

Win8.1屏幕亮度自动调节关闭方法

细心的朋友会发现,Win8.1系统的笔记本屏幕亮度有时候,会根据外界光线亮度以及温度自动调节屏幕亮度,尽管看似比较智能,但有时候我们并不希望笔记本屏幕亮度受光线影响,忽暗忽亮.如果我们希望Win8笔记 …

Python中的*args和**kwarg

可变参数 *args 允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple, 而关键字参数 **kw 允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为 …

activity 的返回按钮

http://www.2cto.com/kf/201210/160251.html 连续点击两次程序就退出程序,这是一个很有趣的程序功能,下来介绍一下我的实现方式(欢迎大家拍砖指点): 1.在Ac …

MyEclipse配置启动多个Tomcat

在实际开发中常常会遇到多个项目同一时候进行,来回切换不太方便,这时可分别部署在多个tomcat下. 改动一些配置可同一时候启动多个tomcat 一開始查阅相关文档,看到一篇文章一个Myeclipse同 …

[物理学与PDEs]第1章习题14 求解 rot 方程

设向量函数 KaTeX parse error: Unexpected character: '' at position 2: {̲f B}(x,y,z)=(B\… z e q 0 z eq 0 zeq0 时具有一阶连续偏导数, 在 z = 0 z=0 z=0 时具有第一类间断, 且 $$ex Div{f B}= …

ListBox滚动条 刷新列表之后 指定位置(置顶或滚动到最后)

参数ObservableCollection类型 滚动条在最上 ListBox.ScrollIntoView(ListBoxOC[0]);滚动条在最下 ListBox.ScrollI …

解决PHP中文乱码问题

1.指定链接字符串编码: $mysql_server_name=“localhost”; //数据库服务器名称 $mysql_username=“root”; …

Matlab练习——矩阵和数组的操作

题目来自: 题目有更改,改成了我想写的样子. 1. 创建一个3×3矩阵,并将其扩充为4×5矩阵 clear; clc; mat1 = ones(,) ma …

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值