[转]基于Vue+Spring MVC+MyBatis+Shiro+Dubbo开发的分布式后台管理系统

最近项目中使用了shiro做权限管理,在开发过程中也踩了一些坑,于是便有了开发个应用巩固一下所学知识的想法,正好在开发的过程里学习一下Vue开发。

 

技术栈方面,现在前后端分离大行其道,于是也采用了前后端分离的模式,前端基于Vue+Element,后端Web基于Spring MVC,用Dubbo提供分布式服务,前端可以部署到nginx,后端Web可以部署到Tomcat、Jetty或Undertow等Servlet容器,Dubbo服务可以作为独立的java进程运行,这种架构下,各层都比较容易实现横向扩展,可以根据业务量灵活调节。

分布式服务基于Dubbo框架开发,业务逻辑的实现在该层完成。Dubbo可以和Spring完美集成,其服务注册与发现机制保证了服务的健壮性和伸缩性,其监控中心可以记录服务的运行情况和调用次数,可以根据监控数据做出服务实例的增减决策。

Web服务提供前端调用的RESTful api,并负责每次调用的身份认证和鉴权,由于是前后端分离结构,Web端为无状态设计,使用JWT实现身份认证,基于Shiro编写RESTful过滤器实现鉴权(在实际开发中发现shiro自带的rest过滤器在无状态web环境下会有问题),身份认证和鉴权成功后,调用Dubbo的rpc服务完成业务逻辑。
 

前端基于Vue+Element开发,用vue-router根据用户权限实现动态路由,从而在没有权限的情况下即使在浏览器中输入url,也无法调用权限外的功能,用axios调用RESTful API,在header中携带JWT,Web服务根据该Token验证用户的身份和权限。

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

项目代码:

服务端:https://github.com/lining90567/dubbo-demo-server

前端:https://github.com/lining90567/dubbo-demo-client

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值