SpringBoot-Shiro-Vue 先後端分離實現權限認證

SpringBoot-Shiro-Vue 先後端分離實現權限認證前端

思路,先後端分離權限驗證與普通Web服務的權限驗證有啥不一樣,其實就一個:先後端變成了只交互數據,展開來講,是後端少了兩個對前端的控制:web

頁面路由後端

頁面DOM跨域

       因此針對普通的web服務,須要作出以下修改:app

 

1.路由相關:前後端分離

1】未驗證頁面不能直接Shiro跳轉,而是返回未登陸錯誤,由前端實現ide

shiroFilterFactoryBean.setLoginUrl("/unauth");spa

@RequestMapping("/unauth")orm

@ResponseBodyrouter

public Result unauth(){

    Result result = new Result(100);

    result.message = "未登陸";

    return result;

}

 

2】配置全部URL爲不須要登陸驗證,而由前端根據後端返回的權限數據來路由(別和不須要權限驗證混了,只是由於路由不須要後端來作而已,全部須要權限驗證的業務邏輯都須要有權限較驗)

filterChainDefinitionMap.put("/", "anon");

 

3】前端須要根據返回的權限數據進行路由配置,具體到Vue使用Vue router的addRoutes動態添加路由

 

 

 

2.DOM相關前端根據 後端返回的 權限數據 決定 菜單  按鈕的展現

 

 

3.跨域,這個是先後端分離帶來的新問題(若是分開部署)後端須要配置容許跨域(添加@CrossOrigin或使用Filter)

相關文章
相關標籤/搜索