最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java shiro實現(xiàn)退出登陸清空緩存

 更新時間:2017年02月20日 11:33:43   作者:瘋狂的貓  
本篇文章主要介紹了java shiro實現(xiàn)退出登陸清空緩存,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

上一篇介紹了使用springmvc集成shiro登陸過程,通過FormAuthenticationFilter過濾器獲取到用戶輸入的賬號密碼。

shiro是一個被廣泛使用的安全層框架,通過xml配置方式與spring無縫對接,用戶的登陸/退出/權限控制/Cookie等管理系統(tǒng)基礎功能交給shiro來管理。

一般,在JavaWEB管理平臺系統(tǒng)時,用戶退出系統(tǒng)之前沒需要清除用戶數(shù)據(jù)和關閉連接,防止垃圾數(shù)據(jù)堆積,shiro提供了LogoutFilter過濾器,我們可以繼承LogoutFilter,重寫preHandle方法,實現(xiàn)清除緩存功能。

spring-shiro.xml:

 <!-- 安全認證過濾器 -->
 <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
  <property name="securityManager" ref="securityManager" />
  <property name="loginUrl" value="/b/login" />
  <property name="successUrl" value="/b" />
  <property name="filters">
   <map>
    <!--退出過濾器-->
    <entry key="logout" value-ref="systemLogoutFilter" />
   </map>
  </property>
  <property name="filterChainDefinitions">
   <value>
    /b/login = authc
    /b/logout = logout
    /b/** = user
   </value>
  </property>
 </bean>

當調用的路徑匹配到/b/logout,會進入到SystemLogoutFilter過濾器,SystemLogoutFilter繼承了LogoutFilter,并重寫了preHandle方法,在preHandle方法執(zhí)行需要清空的數(shù)據(jù)。

@Service
public class SystemLogoutFilter extends LogoutFilter {
 @Override
 protected boolean preHandle(ServletRequest request, ServletResponse response) throws Exception {
  //在這里執(zhí)行退出系統(tǒng)前需要清空的數(shù)據(jù)


     Subject subject = getSubject(request, response);

  String redirectUrl = getRedirectUrl(request, response, subject);

  try {

   subject.logout();

  } catch (SessionException ise) {

   ise.printStackTrace();

  }

  issueRedirect(request, response, redirectUrl);

     //返回false表示不執(zhí)行后續(xù)的過濾器,直接返回跳轉到登錄頁面

  return false;
 }
}

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

<entry key="logout" value-ref="systemLogoutFilter" />

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 一文帶你深入解析Java應用線程轉儲

    一文帶你深入解析Java應用線程轉儲

    在Java應用運維和問題排查過程中,線程轉儲(Thread?Dump)是一個非常重要的工具,它能夠幫助我們了解JVM內(nèi)部線程的運行狀態(tài),下面小編來和大家詳細介紹一下它吧
    2025-04-04
  • 一個簡單的類加載器URLClassLoader案例

    一個簡單的類加載器URLClassLoader案例

    這篇文章主要介紹了一個簡單的類加載器URLClassLoader案例,這里寫了一個小 demo,來加深對于反射的理解,需要的朋友可以參考下
    2023-04-04
  • Java之NIO基本簡介

    Java之NIO基本簡介

    這篇文章主要介紹了Java之NIO基本簡介,文中給大家講到了NIO?與?BIO的比較結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • Java IO讀取文件的實例詳解

    Java IO讀取文件的實例詳解

    這篇文章主要介紹了Java IO讀取文件的實例詳解的相關資料,主要介紹字符流和字節(jié)流的內(nèi)容,需要的朋友可以參考下
    2017-07-07
  • Springboot JPA打印SQL語句及參數(shù)的實現(xiàn)

    Springboot JPA打印SQL語句及參數(shù)的實現(xiàn)

    在SpringBoot項目中調試和優(yōu)化數(shù)據(jù)庫操作是很常見的需求,本文主要介紹了Springboot JPA打印SQL語句及參數(shù)的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • Java?處理樹形結構數(shù)據(jù)的過程

    Java?處理樹形結構數(shù)據(jù)的過程

    這篇文章主要介紹了Java?處理樹形結構數(shù)據(jù)的過程,本文給大家分析具體實現(xiàn)過程,結合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • 多種情況下jar包獲取文件的路徑,讀取文件方式

    多種情況下jar包獲取文件的路徑,讀取文件方式

    文章介紹了在不同情況下(IDEA運行和JAR包運行)獲取文件路徑的方法,并總結了每種方式的適用場景
    2024-11-11
  • file.mkdir()、file.mkdirs()和file.createNewFile()的區(qū)別

    file.mkdir()、file.mkdirs()和file.createNewFile()的區(qū)別

    本文主要介紹了file.mkdir()、file.mkdirs()和file.createNewFile()的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • Maven編譯文件的編碼設置方法

    Maven編譯文件的編碼設置方法

    在使用Maven進行Java項目的構建時,正確的文件編碼設置對于確保項目能夠正確編譯和運行至關重要,本文將詳細介紹如何在Maven中設置編譯文件的編碼,以確保項目能夠正確處理各種語言的文本內(nèi)容,需要的朋友可以參考下
    2025-02-02
  • SpringBoot框架整合SwaggerUI的示例代碼

    SpringBoot框架整合SwaggerUI的示例代碼

    項目中使用了很多現(xiàn)成的框架,都是項目經(jīng)理、架構師帶來的,從來沒有自己整合過,今天給大家介紹下SpringBoot框架整合SwaggerUI的過程,感興趣的朋友跟隨小編一起看看吧
    2022-02-02

最新評論

栖霞市| 榆中县| 赣榆县| 四平市| 桐柏县| 车险| 顺昌县| 石门县| 浙江省| 嘉兴市| 盘锦市| 平乡县| 霍城县| 平定县| 外汇| 札达县| 嘉兴市| 襄汾县| 泽库县| 定安县| 六安市| 盖州市| 怀来县| 裕民县| 垫江县| 永康市| 武强县| 泾川县| 福安市| 石柱| 乌什县| 博乐市| 宁化县| 宽城| 永昌县| 福清市| 香格里拉县| 抚松县| 台江县| 宁化县| 南充市|