老熟女激烈的高潮_日韩一级黄色录像_亚洲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
主站蜘蛛池模板: 性生交大片免费看 | 自拍偷拍视频亚洲 | 日本韩国国产 | 亚洲午夜无码毛片av久久久久久 | 国产精品久久高潮 | 亚洲激情成人网 | 99国产精品久久久久99打野战 | 99产精品成人啪免费网站 | 精品伊人| 伊人一本在线 | 日日噜噜噜夜夜爽爽 | 国产四区 | 九九天堂 | 一级一片免费看 | 亚洲avav天堂av在线网爱情 | 国产美女视频一区 | 久久久九九九热 | 天天操夜夜艹 | 欧美日韩视频网站 | 男人猛躁进女人免费播放 | 国产亚洲av片在线观看18女人 | 人妻丝袜无码专区视频网站 | 国产不卡一级无码视频 | 99福利影院 | 中国毛片大全 | 成年av网站全部免费毛片 | 国产亚洲影视在线视频播放 | 无码精品人妻一区二区三区98 | 亚洲AV无码男人的天堂在线 | 欧美精品一产区二产区 | 全黄激性性视频 | 国产精品久久久久久久新郎 | 青楼妓女禁脔道具调教SM | www.一二三四 | 色综合视频一区中文字幕 | 国产精品福利视频一区 | 日韩一区二区a片免费观看 法国性xxxx精品hd | 亚洲AV噜噜狠狠网址蜜桃 | 91高清国产视频 | 婷婷丁香色综合狠狠色 | 日韩成人午夜 |