老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)

SpringBoot+Shiro如何實(shí)現(xiàn)前后端分離權(quán)限

小編給大家分享一下SpringBoot + Shiro如何實(shí)現(xiàn)前后端分離權(quán)限,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)專注骨干網(wǎng)絡(luò)服務(wù)器租用10多年,服務(wù)更有保障!服務(wù)器租用,遂寧服務(wù)器托管 成都服務(wù)器租用,成都服務(wù)器托管,骨干網(wǎng)絡(luò)帶寬,享受低延遲,高速訪問。靈活、實(shí)現(xiàn)低成本的共享或公網(wǎng)數(shù)據(jù)中心高速帶寬的專屬高性能服務(wù)器。

shiro 驗(yàn)證通過后的信息保存在session 中,而ajax 每次傳的都是不同的sessionid ,所以主要的區(qū)別就是需要修改shiro獲取sessionid的方式。這里使用的是登錄后將后臺(tái)的sessionid 傳到前端然后存放到 cookie(這個(gè)存放的地方視情況而定),然后每次請(qǐng)求后端時(shí)在Header中攜帶此信息,這里起名為Authorization

shiro 中 默認(rèn)獲取Sessionid的類是 DefaultWebSessionManager 所以需要重寫此類

import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.web.servlet.ShiroHttpServletRequest;
import org.apache.shiro.web.session.mgt.DefaultWebSessionManager;
import org.apache.shiro.web.util.WebUtils;
 
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.Serializable;
 
public class PowerShiroSessionManager extends DefaultWebSessionManager {
 
 /**
 * 獲取請(qǐng)求頭中key為“Authorization”的value == sessionId
 */
 private static final String AUTHORIZATION ="Authorization";
 
 private static final String REFERENCED_SESSION_ID_SOURCE = "cookie";
 
 
 @Override
 protected Serializable getSessionId(ServletRequest request, ServletResponse response) {
 // TODO Auto-generated method stub
 String sessionId = WebUtils.toHttp(request).getHeader(AUTHORIZATION);
 System.out.println(sessionId);
 if (StringUtils.isNotEmpty(sessionId)) {
 request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_SOURCE, ShiroHttpServletRequest.COOKIE_SESSION_ID_SOURCE);
 request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID, sessionId);
 request.setAttribute(ShiroHttpServletRequest.REFERENCED_SESSION_ID_IS_VALID, Boolean.TRUE);
 return sessionId;
 }
 return super.getSessionId(request, response);
 }
}

然后在配置中配置此類

@Bean
 public SessionManager sessionManager() {
 PowerShiroSessionManager shiroSessionManager = new PowerShiroSessionManager();
 return shiroSessionManager;
 }
 @Bean
 public SecurityManager securityManager(){
 DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
 securityManager.setRealm(myShiroRealm());
 //自定義session管理
 securityManager.setSessionManager(sessionManager());
 return securityManager;
 }

然后修改前端,這里前端使用的時(shí)Vue.js,登錄成功后將SessionId保存到cookie中,并將請(qǐng)求中攜帶頭信息

util.setCookie("SESSIONID",data.data.sessionId,1);
axios.defaults.headers.common['Authorization'] = util.getCookie("SESSIONID");

這樣后端就能根據(jù)這個(gè)sessionid判斷出用戶是否通過認(rèn)證

以上是“SpringBoot + Shiro如何實(shí)現(xiàn)前后端分離權(quán)限”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


新聞名稱:SpringBoot+Shiro如何實(shí)現(xiàn)前后端分離權(quán)限
URL分享:http://www.xueling.net.cn/article/pgcjje.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 欧美日韩亚洲精品内裤 | 亚洲亚洲中文字幕无线码 | 久久免费看少妇高潮特黄WWW | 少妇人体色www网站 九一视频国产 | 精品国产一区二区三区久久久 | 久久久亚洲精品石原莉奈 | 精品免费国产一区二区三区四区介绍 | 久久国产亚洲婷婷六月丁香 | 日韩欧美在线视频 | 91视频-8mav| 永久免费AV无码网站在线 | 一级@片| 18禁无遮挡啪啪无码网站 | 99久久婷婷国产一区二区三区 | 久久久久国产一区二区三区 | 女邻居丰满的奶水 | 999精品国产人妻无码系列 | 亚洲一区成人 | 日本一级吃奶淫片免费 | 真人一级毛片免费完整视频 | 猫咪免费人成网站在线观看 | 亚洲欧美一区二区三区视频 | 日韩丰满少妇无码内射 | 亚洲影视一区 | 亚洲国产精品无码中文字2022 | 久热精品在线播放 | 亚洲欧美成人综合 | 狠狠色噜噜狠狠狠狠888奇禾 | 69日本xxxxxxxxx49| 快猫成人在线观看 | 亚洲中文字幕婷婷在线 | 五月激情五月婷婷 | 国产日韩欧美911在线观看 | 搞笑一家人韩剧韩语在线看 | 特黄A又粗又大又黄又爽A片软件 | 天天综合视频网 | 国产精品二区一区 | av一区二| 狠狠干免费 | 欧美激情小视频 | 日本午夜人人精品 |