基于Vue+Spring MVC+MyBatis+Shiro+Dubbo开发的分布式后台管理系统
本文项目代码:
服务端:https://github.com/lining90567/dubbo-demo-server
前端:https://github.com/lining90567/dubbo-demo-client
最近项目中使用了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
最新文章
- Erlang环境用eclipse搭建
- 后缀名“.dll .obj .lib”和“ .so .o .a”文件的区别含义
- C# 6.0的字典(Dictionary)的语法
- HDU 1394 Minimum Inversion Number(最小逆序数/暴力 线段树 树状数组 归并排序)
- 使用C#实现读取/写入Excel表
- SGU 149. Computer Network
- OpenCV的矩阵合并方法
- 2016 ACM/ICPC Asia Regional Shenyang Online
- Probability theory
- HDU 4360	 As long as Binbin loves Sangsang spfa
- 【JavaScript的基本语法】
- 201621123043 《Java程序设计》第8周学习总结
- DBlink 创建 删除 脚本
- 如何在Mac的Finder中显示/usr,/tmp,/var等隐藏目录
- Spring的Java配置方式—@Configuration和@Bean实现Java配置
- CF101D Castle
- Jedis入门
- 安卓开发笔记——丰富多彩的TextView
- day26(分页查询)
- postman环境变量 全局变量清理