Shiro之前後端分離許可權驗證返回302錯誤

2021-08-19 09:51:31 字數 816 閱讀 8156

shiro和spring整合,在xml檔案中配置如下部分(非全部配置):

/user/login = anon

/**=authc,perms

使用authc進行許可權控制時,若認證不通過,則shiro缺省會重定向到loginurl路徑,前端請求介面時會出現302錯誤,解決辦法是繼承formauthenticationfilter(org.apache.shiro.web.filter.authc.formauthenticationfilter)類,重寫onaccessdenied方法,方法如下:

@override

protected boolean onaccessdenied(servletrequest request, servletresponse response) throws exception else   

cors跨域請求有時傳送請求時會預先傳送乙個options請求,不會寫到token和引數,這就導致shiro攔截到請求後判定當前使用者未登入,從而引發問題,解決辦法是繼承formauthenticationfilter(org.apache.shiro.web.filter.authc.formauthenticationfilter)類,重寫isaccessallowed方法,方法如下:

前後端跨域請求解決方法:寫乙個過濾器

@override

public void dofilter(servletrequest req, servletresponse resp, filterchain chain)

throws ioexception, servletexception

備註:如果有問題還可以參考 

前後端分離 頁面許可權驗證

前端驗證 登入後 新增登入標識 localstorage.login true inc.js 公共標頭檔案處理,沒有登入 跳轉登入 top.location.href 獲取本地絕對路徑或網域名稱訪問路徑 var href document.location.href var abspath absp...

前後端分離之許可權驗證

前後端分離之許可權驗證 原理 將登入驗證的請求頭中後端生成的秘鑰 token 接收後儲存在cookie內,在再次請求資料時新增在請求頭中傳送給後端驗證,請求資料。登入ajax scope.aaa function aaa 獲取使用者名稱密碼 ajax 將token轉存在cookie中 success...

SpringBoot之前後端分離

今天嘗試寫乙個基於springboot vue的前後端分離的簡單登陸的例子。springboot採用idea整合環境開發 vue採用vscode整合環境開發 這個簡單的例子,基本上把前面幾周研究的技術都複習了一遍。例如 資料庫,restful介面,註解,vue等等。也算對一周工作的總結吧。http通...