大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
SpringBoot-Shiro-Vue 前后端分离实现权限认证
成都创新互联主营利津网站建设的网络公司,主营网站建设方案,成都App制作,利津h5重庆小程序开发公司搭建,利津网站营销推广欢迎利津等地区企业咨询思路,前后端分离权限验证与普通Web服务的权限验证有啥不同,其实就一个:前后端变成了只交互数据,展开来说,是后端少了两个对前端的控制:
页面路由
页面DOM
所以针对普通的web服务,需要做出如下修改:
1.路由相关:
1】未验证页面不能直接Shiro跳转,而是返回未登录错误,由前端实现
shiroFilterFactoryBean.setLoginUrl("/unauth");
@RequestMapping("/unauth")
@ResponseBody
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)
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。