
spring cloud 权限架构/管理
通过spring boot构建的微服务来开发一套属于自己的spring cloud云权限架构,本系列文章旨在带领大家揭开spring cloud的神秘面纱以及一个基础的解决方案。
笨_鸟_不_会_飞
千里之行始于足下
展开
-
基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(一)【云架构前言】
在看本系列文档的时候请确保你已经拥有了以下的知识体系,否则你看本系列文档将会看到你云里来雾里去,该知识体系包括(spring boot、spring cloud、MySQL、redis、mybatis、bootstrap、js、jQuery、thymeleaf、css),以及开发工具IDEA。 首先在开始编写本系列的时候,希望大家可以去了解一下rpc(远程过程调用),因为我...原创 2018-02-11 10:41:18 · 12324 阅读 · 0 评论 -
基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(二)【构建实体模型】
在spring cloud整个项目构建的过程中,我们发现很多实体和工具是高度重复的,因此我们可以首先创建实体模型并在实体模型中将所有通用的实体和工具类全部给创建出来,同理相应的生产者和消费者模块也可以构建出一个通用的基础模块出来。 该项目是基于RBAC(基于角色的权限访问控制)权限架构所构建一个分布式云权限架构管理系统,系统架构PDM如下图所示。 基于我们所设计...原创 2018-02-11 19:46:15 · 11534 阅读 · 0 评论 -
基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(三)【构建注册中心】
云权限架构的注册中心采用的是spring cloud的Eureka Server来构建我们的服务的注册于发现,这里就不再详细介绍我们的Eureka Server的高可用配置中心以及Eureka Server的其他特性,我们假设大家已经对该知识有一定的了解,若大家对此块没有了解,可以查看本系列文章第一章上面推荐的网址以及书籍。 接着我们在现有spring-cloud-rbac工程中...原创 2018-02-12 09:54:11 · 13406 阅读 · 1 评论 -
基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(四)【构建链路调用监控系统】
spring cloud的开发是基于微服务架构的,因此当整个业务系统开发到了一定阶段,我们的微服务可能就会达到几十个,那么这时候微服务之间的互相调用整个网络就像蜘蛛网一样,而且很多蜘蛛网可能是程序员在编写的时候作为架构师的我们完全不知道的,那么这有可能导致某个版本发布的时候出现严重的调用链问题,因此我们需要构建一个工程来监控我们的调用链路,保证我们的程序上线的时候程序员是按照架构师的设计...原创 2018-02-12 10:31:40 · 12653 阅读 · 0 评论 -
基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(五)【构建鉴权中心】
微服务架构的内部调用理论上是无状态的,微服务之间理论上是可以相互调用,如果是无状态的那么我们为什么还需要鉴权中心呢,很明显鉴权中心不是给内部的微服务架构使用的,鉴权中心实际上是给我们的路由中心使用的,我们只在我们的路由网关暴露公网访问的权限,我们的内部的微服务对公网是完全隔离的,因此公网上是无法访问到我们的内部的微服务,公网只能访问到我们的路由网关,因此我们只要在路由网关处做好权限拦截...原创 2018-02-12 15:11:02 · 14916 阅读 · 0 评论 -
基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(六)【权限架构生产者(通用类编写)】
前面的几章我们构建了通用实体模型、注册中心、链路收集系统、本章我们将开始讲解如何构建我们的权限架构服务的生产者,我们微服务完全遵循我们的rest full规范,因此我们实际上可以高度抽象化一些我们的通用接口出来,因此本章我们将这些提供服务的生产者接口高度抽象出来,理论上这些高度抽象出来的接口是可以作为一个独立的module需要的时候使用maven引入,不过此处就不再解耦出来,而是直接...原创 2018-02-13 11:26:56 · 12275 阅读 · 0 评论 -
基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(七)【权限架构生产者(数据字典)】
在我们的编码中我们经常会存放一些静态常量,而这些静态变量我们通常都是写死的,如果我们需要改变这些静态变量的值那么我们必须要修改代码,并重新发布程序,这很明显很不符合我们现实中的业务场景,我们现实中的业务场景是多变的,因此我们需要一个数据字典模块来对我们的这些静态常量进行动态维护,例如,我们的现实环境中有一个接口是发送短信的接口,那么我们要控制她任意时候的关停,那么我们会有几种实现方式呢...原创 2018-02-13 16:15:33 · 13522 阅读 · 0 评论 -
基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(八)【权限架构生产者(swagger2集成)】
上一章我们测试我们的接口的时候使用的是(Advanced REST client)进行接口的测试,大家可以很明显的感觉到该工具对接口的测试是一个很麻烦的过程,需要我们自己去拼接接口以及设计参数,但是我们的前辈已经给我们提供了更加强大的工具,那就是swagger2,通过使用该工具我们可以轻松的实现接口的测试以及开发人员之间接口文档的阅读和使用,接下来我们将讲解如何集成swagger2到我...原创 2018-02-22 11:38:26 · 11807 阅读 · 0 评论 -
基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(九)【权限架构生产者(角色管理)】
在第七章我们完成了对数据字典的集成,本章我们将完成角色管理的集成工作,首先打开我们的rbac-produce工程,接着在com/produce/sys/dao目录底下创建一个UserRoleDao.java接口内容如下:package com.produce.sys.dao;import com.base.entity.QueryUserRole;import com.base...原创 2018-02-22 14:39:30 · 11768 阅读 · 0 评论 -
基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(十)【权限架构生产者(用户管理)】
在第九章我们完成了对角色管理的集成,本章我们将完成对用户管理的集成开发工作,首先打开我们的rbac-produce工程,接着在com/produce/sys/dao目录底下创建一个UserDao.java接口内容如下:package com.produce.sys.dao;import com.base.entity.QueryUser;import com.base.ent...原创 2018-02-22 16:47:24 · 11741 阅读 · 0 评论 -
基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(十一)【权限架构生产者(组织架构)】
在第十章我们完成了对用户管理的集成,本章我们将完成对组织架构管理的集成开发工作,首先打开我们的rbac-produce工程,接着在com/produce/sys/dao目录底下创建一个UserDao.java接口内容如下:package com.produce.sys.dao;import com.base.entity.OrgGroup;import com.base.ent...原创 2018-02-22 20:38:20 · 11502 阅读 · 1 评论 -
基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(十二)【权限架构生产者(菜单管理)】
在第十一章我们完成了对组织架构管理的集成,本章我们将完成对菜单管理的集成开发工作,首先打开我们的rbac-produce工程,接着在com/produce/sys/dao目录底下创建一个UserDao.java接口内容如下:package com.produce.sys.dao;import com.base.entity.QueryTree;import com.base....原创 2018-02-22 21:15:13 · 11713 阅读 · 2 评论 -
基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(十三)【权限架构生产者(改造角色管理)】
在第十二章我们完成了对菜单管理的集成,在第九章我们完成了角色了管理,但是我们并没有将菜单和角色两者关联上,因此本章将在这两章的基础上进行一次改造,使得我们的菜单和角色产生关联。 打开我们的UserRoleService.java改造成以下的内容:package com.produce.sys.service;import com.base.entity.QueryUserR...原创 2018-02-22 21:35:32 · 11309 阅读 · 0 评论 -
基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(十四)【权限架构消费者(通用类编写)】
权限架构的消费者和权限架构的生产者一样可以高度抽象化我们的通用接口出来,因此本章我们将这些消费者接口高度抽象出来,理论上这些高度抽象出来的接口是可以作为一个独立的module需要的时候使用maven引入,不过此处就不再解耦出来,而是直接写在我们的权限架构服务的消费者项目中。 直接在我们的工程中创建权限架构服务的消费者的modules如下所示: 接着在我们的r...原创 2018-02-23 13:52:05 · 11677 阅读 · 0 评论 -
基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(十五)【权限架构消费者(完整实现)】
在第十四章我们已经完成了通用业务类的编写,因此本章我们将讲解如何完整的实现我们的权限架构的消费者的实现,首先打开我们的rbac-consumer工程,接着打开我们的主入口文件RbacConsumerApplication.java加入@EnableDiscoveryClient和@EnableFeignClients注解如下所示:package com.consumer;impor...原创 2018-02-24 09:28:50 · 11814 阅读 · 0 评论 -
基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(十六)【路由网关】
在前面十六章我们完成了注册中心、链路中心、权限架构生产者、权限架构消费者的集成开发工作,本章将开始重点讲解我们的路由网关的实现,由于我们的微服务内部是无权限的,因此我们的微服务内部是不对外暴露端口的,所有的请求全部通过路由网关来进行请求的,因此在本章我们的路由网关将实现路由分发以及权限过滤的功能。 直接在我们的工程中创建路由网关的modules如下所示: 接着...原创 2018-02-24 11:52:58 · 12438 阅读 · 5 评论 -
基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(十七)【权限架构系统(基础框架搭建)】
在前面的十六章我们讲解了如何构建我们的注册中心、链路监控中心、鉴权中心、权限架构生产者、权限架构消费者、路由网关,基于我们前面十六章构建的程序,从本章开始我们将具体的讲解如何搭建我们的权限架构系统的展示层。 首先在我们的工程中创建权限架构展示出的modules如下所示: 接着打开我们的pom.xml引入我们的maven依赖内容如下:<?xml version=...原创 2018-02-25 14:48:01 · 15413 阅读 · 1 评论 -
基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(十八)【权限架构系统(完结)】
在上一章节我们已经完成了权限架构展示层得基础框架得搭建,本章我们将 基于springboot+bootstrap+mysql+redis搭建一套完整的权限架构这套我在原先写好的权限架构的基础上进行改造使用spring cloud来实现我们的权限架构。 在我们调用路由网关的时候我们都需要将我们的请求带上token,若是基于我们原先的系统,我们需要在每一个请求上将我们的tok...原创 2018-02-27 15:25:08 · 13614 阅读 · 0 评论