随笔- 138  评论- 212  文章- 18 
随笔分类 - 实战演练
实战演练
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十五):Spring Security 版本
摘要:在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 到目前为止,我们使用的权限认证框架是 Shiro,虽然 Shiro 也足够好用并且简单,但对于 Spring 官方主推的安全框架 Spring Security,用户群 阅读全文
posted @ 2018-11-27 19:19 朝雨忆轻尘 阅读(5241) 评论(11) 推荐(2) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十四):权限控制(Shiro 注解)
摘要:在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 当前,我们基于导航菜单的显示和操作按钮的禁用状态,实现了页面可见性和操作可用性的权限验证,或者叫访问控制。但这仅限于页面的显示和操作,我们的后台接口还是没有进行权限的验 阅读全文
posted @ 2018-11-19 18:00 朝雨忆轻尘 阅读(2969) 评论(0) 推荐(1) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十三):配置中心(Config、Bus)
摘要:在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 如今微服务架构盛行,在分布式系统中,项目日益庞大,子项目日益增多,每个项目都散落着各种配置文件,且随着服务的增加而不断增多。此时,往往某一个基础服务信息变更,都会导致一 阅读全文
posted @ 2018-11-08 16:17 朝雨忆轻尘 阅读(3606) 评论(0) 推荐(2) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十二):链路追踪(Sleuth、Zipkin)
摘要:在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 在微服务架构中,随着业务发展,系统拆分导致系统调用链路愈发复杂,一个看似简单的前端请求可能最终需要调用很多次后端服务才能完成,那么当整个请求出现问题时,我们很难得知到底 阅读全文
posted @ 2018-11-07 19:25 朝雨忆轻尘 阅读(4487) 评论(1) 推荐(0) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十一):服务网关(Zuul)
摘要:在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 前面我们通过Ribbon或Feign实现了微服务之间的调用和负载均衡,那我们的各种微服务又要如何提供给外部应用调用呢。 当然,因为是REST API接口,外部客户端直接 阅读全文
posted @ 2018-11-07 12:59 朝雨忆轻尘 阅读(7466) 评论(0) 推荐(5) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十):服务熔断(Hystrix、Turbine)
摘要:在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 雪崩效应 在微服务架构中,由于服务众多,通常会涉及多个服务层级的调用,而一旦基础服务发生故障,很可能会导致级联故障,进而造成整个系统不可用,这种现象被称为服务雪崩效应。服务雪崩效 阅读全文
posted @ 2018-11-06 19:01 朝雨忆轻尘 阅读(1607) 评论(0) 推荐(1) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十九):服务消费(Ribbon、Feign)
摘要:技术背景 上一篇教程中,我们利用Consul注册中心,实现了服务的注册和发现功能,这一篇我们来聊聊服务的调用。单体应用中,代码可以直接依赖,在代码中直接调用即可,但在微服务架构是分布式架构,服务都运行在各自的进程之中,甚至部署在不同的主机和不同的地区。这个时候就需要相关的远程调用技术了。 Sprin 阅读全文
posted @ 2018-11-05 18:28 朝雨忆轻尘 阅读(1926) 评论(0) 推荐(3) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十八):注册中心(Spring Cloud Consul)
摘要:什么是 Consul Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value 存储、多数据中心方案,不再需要依赖其它工 阅读全文
posted @ 2018-10-30 18:23 朝雨忆轻尘 阅读(2503) 评论(0) 推荐(2) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十六):容器部署项目
摘要:容器部署项目 这一章我们引入docker,采用docker容器的方式部署我们的项目。 首先需要有一个linux环境,并且安装 java 和 maven 以及 docker 环境,这个教程多如牛毛,不再赘述。 这里以 kitty-monitor 为例。 添加配置 在 pom.xml 的 propert 阅读全文
posted @ 2018-09-29 18:04 朝雨忆轻尘 阅读(1299) 评论(0) 推荐(0) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十五):系统服务监控
摘要:系统服务监控 新建监控工程 新建Spring Boot项目,取名 kitty-monitor,结构如下。 添加项目依赖 添加 spring boot admin 的相关依赖。 pom.xml 修改启动端口 修改监控服务器启动端口号。 application.yml 修改启动器类 修改启动器类,主要是 阅读全文
posted @ 2018-09-28 17:05 朝雨忆轻尘 阅读(1207) 评论(0) 推荐(0) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署
摘要:项目打包部署 安装MySQL镜像 注意:如果使用docker镜像安装MySQL,也需要在前端部署主机安装MySQL,因为备份还原功能是使用MySQL的本地命令进行操作的。 下载镜像 执行以下命令,拉取MySQL镜像。 镜像下载完成之后,通过以下命令查看下载的镜像。 启动容器 执行以下命令,启动一个容 阅读全文
posted @ 2018-09-27 17:58 朝雨忆轻尘 阅读(1774) 评论(0) 推荐(0) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十三):系统备份还原
摘要:系统备份还原 在很多时候,我们需要系统数据进行备份还原。我们这里就使用MySql的备份还原命令实现系统备份还原的功能。 新建工程 新建一个maven项目,并添加相关依赖,可以用Spring boot脚手架生成。 新建 kitty-bakcup 工程,这是一个独立运行于后台系统的应用程序,可以分开部署 阅读全文
posted @ 2018-09-22 16:51 朝雨忆轻尘 阅读(2038) 评论(2) 推荐(1) 编辑
Vue + Element UI 实现权限管理系统 前端篇(十五):嵌套外部网页
摘要:嵌套外部网页 在有些时候,我们需要在我们的内容栏主区域显示外部网页。如查看服务端提供的SQL监控页面,接口文档页面等。 这个时候就要求我们的导航菜单能够解析嵌套网页的URL,并根据URL路由到相应的嵌套组件。接下来我们就讲解具体实现方案。 实现原理 1. 给菜单URL添加嵌套网页前缀,如果是服务端网 阅读全文
posted @ 2018-09-22 16:44 朝雨忆轻尘 阅读(8631) 评论(1) 推荐(0) 编辑
Vue + Element UI 实现权限管理系统 前端篇(十六):系统备份还原
摘要:系统备份还原 在很多时候,我们需要系统数据进行备份还原。我们这里就使用MySql的备份还原命令实现系统备份还原的功能。 后台接口准备 系统备份还原是对数据库的备份还原,所以必须有后台接口的支持,我们准备好了接口,相关内容可以查阅后台篇。 backup:系统备份创建接口,会在服务端_backup目录下 阅读全文
posted @ 2018-09-22 16:44 朝雨忆轻尘 阅读(3456) 评论(1) 推荐(0) 编辑
Vue + Element UI 实现权限管理系统 前端篇(十四):菜单功能实现
摘要:菜单功能实现 菜单接口封装 菜单管理是一个对菜单树结构的增删改查操作。 提供一个菜单查询接口,查询整颗菜单树形结构。 http/modules/menu.js 添加 findMenuTree 接口。 菜单管理界面 菜单管理界面是使用封装的表格树组件显示菜单结构,并提供增删改查的功能。 Menu.vu 阅读全文
posted @ 2018-09-22 16:44 朝雨忆轻尘 阅读(6963) 评论(0) 推荐(4) 编辑
Vue + Element UI 实现权限管理系统 前端篇(十三):页面权限控制
摘要:权限控制方案 既然是后台权限管理系统,当然少不了权限控制啦,至于权限控制,前端方面当然就是对页面资源的访问和操作控制啦。 前端资源权限主要又分为两个部分,即导航菜单的查看权限和页面增删改操作按钮的操作权限。 我们的设计把页面导航菜单和页面操作按钮统一存储在菜单数据库表中,菜单表中包含以下权限关注点。 阅读全文
posted @ 2018-09-15 16:35 朝雨忆轻尘 阅读(33093) 评论(4) 推荐(2) 编辑
Vue + Element UI 实现权限管理系统 前端篇(十二):用户管理模块
摘要:用户管理模块 添加接口 在 http/moduls/user.js 中添加用户管理相关接口。 模拟数据 在 mock/moduls/user.js 中添加用户管理相关mock接口。 提取根路径 为了可以统一控制mock的开启与关闭,把mock的根路径提取出来。 而具体的Mock接口,把根路径移除,因 阅读全文
posted @ 2018-09-15 15:23 朝雨忆轻尘 阅读(12257) 评论(10) 推荐(1) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十二):解决跨域问题
摘要:什么是跨域? 同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。 同源策略是浏览器安全的基石。 如果一个请求地址里面的协议、域名和端口号都相同,就属于同源。 举个栗子 判断下面URL是否和 http://www.a.com/a/a.html 同源 http: 阅读全文
posted @ 2018-09-15 13:11 朝雨忆轻尘 阅读(2042) 评论(0) 推荐(0) 编辑
Vue + Element UI 实现权限管理系统 前端篇(十一):第三方图标库
摘要:使用第三方图标库 用过Elment的同鞋都知道,Element UI提供的字体图符少之又少,实在是不够用啊,幸好现在有不少丰富的第三方图标库可用,引入也不会很麻烦。 Font Awesome Font Awesome 提供了675个可缩放的矢量图标,可以使用CSS所提供的所有特性对它们进行更改,包括 阅读全文
posted @ 2018-09-04 18:42 朝雨忆轻尘 阅读(3700) 评论(0) 推荐(0) 编辑
Vue + Element UI 实现权限管理系统 前端篇(十):动态加载菜单
摘要:动态加载菜单 之前我们的导航树都是写死在页面里的,而实际应用中是需要从后台服务器获取菜单数据之后动态生成的。 我们在这里就用上一篇准备好的数据格式Mock出模拟数据,然后动态生成我们的导航菜单。 接口模块化 我们向来讲究模块化,之前接口都集中在,interface.js,我们现在把它改名为 api. 阅读全文
posted @ 2018-09-02 22:56 朝雨忆轻尘 阅读(52874) 评论(13) 推荐(9) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十一):集成 Shiro 框架
摘要:Apache Shiro 优势特点 它是一个功能强大、灵活的,优秀开源的安全框架。 它可以处理身份验证、授权、企业会话管理和加密。 它易于使用和理解,相比Spring Security入门门槛低。 主要功能 验证用户身份 用户访问权限控制 支持单点登录(SSO)功能 可以响应认证、访问控制,或Ses 阅读全文
posted @ 2018-09-01 15:15 朝雨忆轻尘 阅读(18322) 评论(1) 推荐(1) 编辑
Vue + Element UI 实现权限管理系统 前端篇(九):接口格式定义
摘要:接口请求格式定义 前台显示需要后台数据,我们这里先把前后端交互接口定义好,没有后台的时候,也方便用mock模拟。 接口定义遵循几个规范: 1. 接口按功能模块划分。 系统登录:登录相关接口 用户管理:用户管理相关接口 机构管理:机构管理相关接口 角色管理 : 角色管理相关接口 菜单管理 : 菜单管理 阅读全文
posted @ 2018-09-01 14:40 朝雨忆轻尘 阅读(5509) 评论(0) 推荐(3) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十):接口服务整理
摘要:通用操作 通用操作是指一般的增删改查操作,逻辑大体都是一致的,所以统一抽象到CURD接口,需要用到CURD的表直接实现接口就可以了。 通用操作主要有以下几个: 保存操作 更新操作 删除操作 批量删除 分页查询 根据ID查询 登录管理 登录接口 名称:login 类型:post 路径:/sys/log 阅读全文
posted @ 2018-08-31 20:21 朝雨忆轻尘 阅读(3847) 评论(0) 推荐(0) 编辑
Vue + Element UI 实现权限管理系统 前端篇(八):管理应用状态
摘要:使用 Vuex 管理应用状态 1. 引入背景 像先前我们是有导航菜单栏收缩和展开功能的,但是因为组件封装的原因,隐藏按钮在头部组件,而导航菜单在导航菜单组件,这样就涉及到了组件收缩状态的共享问题。收缩展开按钮触发收缩状态的修改,导航菜单需要根据收缩状态来设置导航栏的宽度。这样就需要在收缩状态变更时刷 阅读全文
posted @ 2018-08-30 19:53 朝雨忆轻尘 阅读(5108) 评论(2) 推荐(2) 编辑
Vue + Element UI 实现权限管理系统 前端篇(七):功能组件封装
摘要:组件封装 为了避免组件代码的臃肿,这里对主要的功能部件进行封装,保证代码的模块化和简洁度。 组件结构 组件封装重构后,试图组件结构如下图所示 代码一览 Home组件被简化,包含导航、头部和主内容三个组件。 Home.vue HeadBar.vue MenuBar.vue Main.vue 国际化语言 阅读全文
posted @ 2018-08-29 19:06 朝雨忆轻尘 阅读(6763) 评论(3) 推荐(2) 编辑
Vue + Element UI 实现权限管理系统 前端篇(六):更换皮肤主题
摘要:自定义主题 命令行主题工具 1.安装主题工具 首先安装「主题生成工具」,可以全局安装或者安装在当前项目下,推荐安装在项目里,方便别人 clone 项目时能直接安装依赖并启动。 2.安装chalk主题 安装白垩主题,可以从 npm 安装或者从 GitHub 拉取最新代码,这里从 npm 安装。 3.初 阅读全文
posted @ 2018-08-28 11:15 朝雨忆轻尘 阅读(15097) 评论(6) 推荐(2) 编辑
Vue + Element UI 实现权限管理系统 前端篇(五):国际化实现
摘要:国际化支持 1.安装依赖 执行以下命令,安装 i18n 依赖。 2.添加配置 2.1 在 src 下新建 i18n 目录,并创建一个 index.js。 index.js 2.2 在 assets 目录下面创建连个多语言文件。 zh.json en.json 2.3 在 main.js 中引入 i1 阅读全文
posted @ 2018-08-27 20:07 朝雨忆轻尘 阅读(6039) 评论(2) 推荐(3) 编辑
Vue + Element UI 实现权限管理系统 前端篇(四):优化登录流程
摘要:完善登录流程 1. 丰富登录界面 1.1 从 Element 指南中选择组件模板丰富登录界面,放置一个登录界面表单,包含账号密码输入框和登录重置按钮。 1.2 稍微调整一下界面样式 1.3 添加页面组件显示规则和操作响应,其中登录成功后,把登录用户信息存储到本地会话,用于配置路由跳转目标。 1.4 阅读全文
posted @ 2018-08-26 22:22 朝雨忆轻尘 阅读(16055) 评论(26) 推荐(6) 编辑
Vue + Element UI 实现权限管理系统 前端篇(三):工具模块封装
摘要:封装 axios 模块 封装背景 使用axios发起一个请求是比较简单的事情,但是axios没有进行封装复用,项目越来越大,会引起越来越多的代码冗余,让代码变得越来越难维护。所以我们在这里先对 axios 进行二次封装,使项目中各个组件能够复用请求,让代码变得更容易维护。 封装要点 统一 url 配 阅读全文
posted @ 2018-08-25 21:40 朝雨忆轻尘 阅读(17979) 评论(21) 推荐(9) 编辑
Vue + Element UI 实现权限管理系统 前端篇(二):Vue + Element 案例
摘要:导入项目 打开 Visual Studio Code,File --> add Folder to Workspace,导入我们的项目。 安装 Element 安装依赖 Element 是国内饿了么公司提供的一套开源前端框架,简洁优雅,提供了 vue、react、angular 等多个版本,我们这里 阅读全文
posted @ 2018-08-25 17:45 朝雨忆轻尘 阅读(21407) 评论(11) 推荐(9) 编辑
Vue + Element UI 实现权限管理系统 前端篇(一):搭建开发环境
摘要:技术基础 开发之前,请先熟悉下面的4个文档 vue.js2.0中文, 优秀的JS框架 vue-router, vue.js 配套路由 vuex,vue.js 应用状态管理库 Element,饿了么提供的UI框架 开发环境 Node JS(npm) Visual Studio Code(前端IDE) 阅读全文
posted @ 2018-08-25 17:45 朝雨忆轻尘 阅读(30910) 评论(3) 推荐(14) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(九):代码整理优化
摘要:工程规划 为了统一配置和代码解耦,我们对代码重新进行了整理和规划。 重新规划后,代码结构如下: kitty-pom: 统一管理 Maven 版本,打包配置 kitty-common: 公共代码模块,主要放置工具类 kitty-core: 核心代码模块,主要封装公共业务模块 kitty-admin: 阅读全文
posted @ 2018-08-19 00:28 朝雨忆轻尘 阅读(4366) 评论(1) 推荐(1) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(八):MyBatis分页功能实现
摘要:使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真不想花双倍的时间写 count 和 select,幸好我们有 pagehelper 分页插件,pagehelper 是一个强大实用的 MyBatis 分 阅读全文
posted @ 2018-08-18 20:26 朝雨忆轻尘 阅读(2630) 评论(1) 推荐(2) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(七):集成 Druid 数据源
摘要:数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。通过数据库连接池能明显提高对数据库操作的性能。在Java应用程序开发中,常用的连接池有DBCP、C 阅读全文
posted @ 2018-08-18 14:13 朝雨忆轻尘 阅读(3443) 评论(0) 推荐(0) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(六):集成 Swagger API
摘要:spring-boot作为当前最为流行的Java web开发脚手架,越来越多的开发者选择用其来构建企业级的RESTFul API接口。这些接口不但会服务于传统的web端(b/s),也会服务于移动端。在实际开发过程中,这些接口还要提供给开发测试进行相关的白盒测试,那么势必存在如何在多人协作中共享和及时 阅读全文
posted @ 2018-08-17 20:11 朝雨忆轻尘 阅读(3066) 评论(0) 推荐(0) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(五):模块化切分
摘要:切分工程 考虑到后续我们的模块会越来越多,依赖的公共代码和配置需要集中管理,我们在这里先把公共模块和配置从后台管理业务中剥离出来。 新增两个工程,切分后结构如下: kitty-boot:启动器及全局配置模块 kitty-common:公共代码模块,主要提供一些工具类 kitty-admin:后台管理 阅读全文
posted @ 2018-08-17 18:50 朝雨忆轻尘 阅读(3669) 评论(9) 推荐(0) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(四):集成 MyBatis 框架
摘要:引入依赖 Spring Boot对于MyBatis的支持需要引入mybatis-spring-boot-starter的pom文件。 在加添MySQL等相关依赖后,完整的pom.xml: 添加配置 1.添加MyBatis配置 添加MyBatis配置类,配置相关扫描路径,包括DAO,Model,XML 阅读全文
posted @ 2018-08-16 18:44 朝雨忆轻尘 阅读(5062) 评论(0) 推荐(0) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(三):搭建开发环境
摘要:生成项目模板 登录Spring Initializr生成Spring Boot项目模板,保存到本地。 地址:https://start.spring.io/ 导入Maven项目 使用IDE导入生成的Maven项目,我这里用的是Eclipse。 项目结构很简单,把不需要的文件清理之后,项目就只有三个文 阅读全文
posted @ 2018-08-15 18:28 朝雨忆轻尘 阅读(7747) 评论(0) 推荐(1) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二):数据库设计
摘要:数据库设计 系统主要包含用户(sys_user)、组织(sys_dept)、角色(sys_role)、菜单(sys_menu)、角色组织(sys_role_dept)、角色菜单(sys_role_menu)、用户Token(sys_user_token)、系统日志(sys_log)等表。 1.用户属 阅读全文
posted @ 2018-08-15 18:25 朝雨忆轻尘 阅读(5408) 评论(1) 推荐(1) 编辑
Spring Boot + Spring Cloud 实现权限管理系统 后端篇(一):Kitty 系统介绍
摘要:在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 温馨提示: 有在演示环境删除数据的童鞋们,如果可以的话,麻烦动动小指,右键头像菜单, 选择 -> 备份还原 帮忙恢复到系统默认备份数据,方便后来的童鞋查看,谢谢啦。 技术交流 为 阅读全文
posted @ 2018-08-15 18:22 朝雨忆轻尘 阅读(20888) 评论(2) 推荐(5) 编辑