中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在java項目中利用shiro實現退出登陸并清空緩存

發布時間:2020-11-10 16:01:48 來源:億速云 閱讀:549 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關在java項目中利用shiro實現退出登陸并清空緩存,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

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方法執行需要清空的數據。

@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過濾器直接使用

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

看完上述內容,你們對在java項目中利用shiro實現退出登陸并清空緩存有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江都市| 房山区| 江北区| 河东区| 明溪县| 济源市| 津南区| 延边| 达州市| 霞浦县| 鹤壁市| 搜索| 磐安县| 中宁县| 北安市| 沧州市| 沾化县| 穆棱市| 丹巴县| 哈巴河县| 右玉县| 钦州市| 新龙县| 汾阳市| 汝南县| 延津县| 原阳县| 嵊泗县| 灌云县| 长顺县| 昌邑市| 安平县| 安岳县| 察哈| 广水市| 名山县| 新蔡县| 塘沽区| 富民县| 香河县| 丹巴县|