电子商务平台源码请加企鹅求求:一零三八七七四六二六。前面几篇我们已经介绍了Spring Cloud和oauth2的知识点,今天我们要利用Spring Cloud和oauth2进行commonservice-sso服务搭建,本节我们只是搭建commonservice-sso的基础平台,闲话少说,直接将步骤记录下来:

  1. 创建maven项目commonservice-sso,其中pom.xml文件配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <parent>  <groupId>com.ml.honghu</groupId>  <artifactId>commonservice</artifactId>  <version>0.0.1-SNAPSHOT</version>  </parent>  <artifactId>commonservice-sso</artifactId>  <packaging>jar</packaging>  <dependencies>  <dependency>  <groupId>org.springframework.cloud</groupId>  <artifactId>spring-cloud-starter-eureka</artifactId>  </dependency>  <dependency>  <groupId>org.springframework.cloud</groupId>  <artifactId>spring-cloud-starter-config</artifactId>  </dependency>  <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-actuator</artifactId>  </dependency>  <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-data-rest</artifactId>  </dependency>  <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-web</artifactId>  </dependency>  <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-security</artifactId>  </dependency>  <dependency>  <groupId>org.springframework.security.oauth</groupId>  <artifactId>spring-security-oauth2</artifactId>  </dependency>  <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-test</artifactId>  </dependency>  <dependency>  <groupId>org.springframework.hateoas</groupId>  <artifactId>spring-hateoas</artifactId>  </dependency>  <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-data-rest</artifactId>  </dependency>  <dependency>  <groupId>com.ml.honghu.common.framework</groupId>  <artifactId>common-framework-dao</artifactId>  <version>1.0.0-SNAPSHOT</version>  </dependency>  <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-web</artifactId>  </dependency>  <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-freemarker</artifactId>  </dependency>  <dependency>  <groupId>com.ml.honghu</groupId>  <artifactId>component-base</artifactId>  </dependency>  </dependency>  </dependencies>  <!-- 打包插件,其中repackage、true是专门打spring boot专用包 -->  <build>  <plugins>  <plugin>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-maven-plugin</artifactId>  <executions>  <execution>  <id>1</id>  <goals>  <goal>repackage</goal>  </goals>  </execution>  <execution>  <id>2</id>  <goals>  <goal>build-info</goal>  </goals>  </execution>  </executions>  </plugin>  </plugins>  </build>
</project>
复制代码
  1. 配置bootstrap.yml文件
spring:  application:  name: commonservice-sso  profiles:   active: dev,discoveryClient  cloud:  config:  discovery:   enabled: true  service-id: commonservice-config-server
eureka:   client:  service-url:  defaultZone: http://honghu:123456@localhost:8761/eureka  instance:  prefer-ip-address: true
复制代码
  1. 配置项目启动文件
package com.ml.honghu;  import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;  @SpringBootApplication
@EnableEurekaClient
public class SSOApplication {  public static void main(String[] args) {  SpringApplication.run(SSOApplication.class, args);  }
}
复制代码
  1. 创建sso相关表:
oauth_access_token、oauth_approvals、oauth_client_details、oauth_client_token、oauth_code、oauth_refresh_token复制代码

脚本如下:

/*
Navicat MySQL Data Transfer Source Server         : localhost
Source Server Version : 50621
Source Host           : localhost:3306
Source Database       : honghu Target Server Type    : MYSQL
Target Server Version : 50621
File Encoding         : 65001 Date: 2017-10-26 20:12:56
*/  SET FOREIGN_KEY_CHECKS=0;  -- ----------------------------
-- Table structure for `oauth_access_token`
-- ----------------------------
DROP TABLE IF EXISTS `oauth_access_token`;
CREATE TABLE `oauth_access_token` (  `token_id` varchar(256) DEFAULT NULL,  `token` blob,  `authentication_id` varchar(128) NOT NULL,  `user_name` varchar(256) DEFAULT NULL,  `client_id` varchar(256) DEFAULT NULL,  `authentication` blob,  `refresh_token` varchar(256) DEFAULT NULL,  PRIMARY KEY (`authentication_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;  -- ----------------------------
-- Table structure for `oauth_approvals`
-- ----------------------------
DROP TABLE IF EXISTS `oauth_approvals`;
CREATE TABLE `oauth_approvals` (  `userId` varchar(256) DEFAULT NULL,  `clientId` varchar(256) DEFAULT NULL,  `scope` varchar(256) DEFAULT NULL,  `status` varchar(10) DEFAULT NULL,  `expiresAt` datetime DEFAULT NULL,  `lastModifiedAt` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;  -- ----------------------------
-- Records of oauth_approvals
-- ----------------------------  -- ----------------------------
-- Table structure for `oauth_client_details`
-- ----------------------------
DROP TABLE IF EXISTS `oauth_client_details`;
CREATE TABLE `oauth_client_details` (  `client_id` varchar(128) NOT NULL,  `resource_ids` varchar(256) DEFAULT NULL,  `client_secret` varchar(256) DEFAULT NULL,  `scope` varchar(256) DEFAULT NULL,  `authorized_grant_types` varchar(256) DEFAULT NULL,  `web_server_redirect_uri` varchar(256) DEFAULT NULL,  `authorities` varchar(256) DEFAULT NULL,  `access_token_validity` int(11) DEFAULT NULL,  `refresh_token_validity` int(11) DEFAULT NULL,  `additional_information` varchar(4096) DEFAULT NULL,  `autoapprove` varchar(256) DEFAULT NULL,  PRIMARY KEY (`client_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;  -- ----------------------------
-- Table structure for `oauth_client_token`
-- ----------------------------
DROP TABLE IF EXISTS `oauth_client_token`;
CREATE TABLE `oauth_client_token` (  `token_id` varchar(256) DEFAULT NULL,  `token` blob,  `authentication_id` varchar(128) NOT NULL,  `user_name` varchar(256) DEFAULT NULL,  `client_id` varchar(256) DEFAULT NULL,  PRIMARY KEY (`authentication_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;  -- ----------------------------
-- Records of oauth_client_token
-- ----------------------------  -- ----------------------------
-- Table structure for `oauth_code`
-- ----------------------------
DROP TABLE IF EXISTS `oauth_code`;
CREATE TABLE `oauth_code` (  `code` varchar(256) DEFAULT NULL,  `authentication` blob
) ENGINE=InnoDB DEFAULT CHARSET=utf8;  -- ----------------------------
-- Records of oauth_code
-- ----------------------------  -- ----------------------------
-- Table structure for `oauth_refresh_token`
-- ----------------------------
DROP TABLE IF EXISTS `oauth_refresh_token`;
CREATE TABLE `oauth_refresh_token` (  `token_id` varchar(256) DEFAULT NULL,  `token` blob,  `authentication` blob
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
复制代码

备注: oauth的相关表是用来存储用户的token信息和认证信息的。

本节搭建先搭建那么多,后面的业务代码太多,我们会在后面的章节中放出来。

从现在开始,我这边会将近期研发的spring cloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友,大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目。

转载于:https://juejin.im/post/5ceb53106fb9a07ee565fcb4

(十一)java版spring cloud+spring boot+redis多租户社交电子商务平台- commonservice-sso服务搭建(一)...相关推荐

  1. java版spring cloud+spring boot+redis多租户社交电子商务平台 (十一)docker部署spring cloud项目...

    一.docker简介 电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过 ...

  2. (三十一)java版spring cloud+spring boot+redis多租户社交电子商务平台-spring-cloud-config...

    电子商务平台源码请加企鹅求求:一零三八七七四六二六.创建配置管理服务器及实现分布式配置管理应用,实现统一配置管理. 提供三种方式: 基于git 基于svn(淘汰) 基于本地文件(测试使用) 如何使用 ...

  3. java版spring cloud+spring boot+redis多租户社交电子商务平台(三)SpringBoot用JdbcTemplates访问Mysql...

    准备工作 jdk 1.8 maven 3.0 idea mysql springcloud b2b2c电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.初始化mysql: -- create t ...

  4. (四十三)java版spring cloud+spring boot+redis多租户社交电子商务平台-eureka集群整合config配置中心...

    电子商务平台源码请加企鹅求求:三五三六二四七二五九.加入依赖 <dependencies><!-- 监控 --><dependency><groupId> ...

  5. java版spring cloud+spring boot+redis多租户社交电子商务平台(十二)断路器监控(Hystrix Dashboard)...

    电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.在我的第四篇文章断路器讲述了如何使用断路器,并简单的介绍了下Hystrix Dashboard组件,这篇文章更加详细的介绍Hystrix Das ...

  6. (一)java版spring cloud+spring boot+redis多租户社交电子商务平台-简介

    Spring cloud b2b2c电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.Spring Cloud是一系列框架的有序集合.利用Spring Boot的开发模式简化了分布式系统基础设施 ...

  7. (八)java版spring cloud+spring boot+redis多租户社交电子商务平台 -SSO单点登录之OAuth2.0登录认证(2)...

    电子商务平台源码请加企鹅求求:一零三八七七四六二六.上一篇是站在巨人的肩膀上去研究OAuth2.0,也是为了快速帮助大家认识OAuth2.0,闲话少说,我根据框架中OAuth2.0的使用总结,画了一个 ...

  8. (三十)java版spring cloud+spring boot+redis多租户社交电子商务平台- gateway限流

    电子商务平台源码请加企鹅求求:一零三八七七四六二六.限流一般有两个实现方式,令牌桶和漏桶. 金牌桶是初始化令牌(容器)的个数,通过拿走里边的令牌就能通过, 没有令牌不能报错,可以设置向容器中增加令牌的 ...

  9. java版spring cloud+spring boot+redis多租户社交电子商务平台 (十三)springboot集成spring cache...

    电子商务社交平台源码请加企鹅求求:三五三六二四七二五九 本文介绍如何在springboot中使用默认的spring cache, 声明式缓存 Spring 定义 CacheManager 和 Cach ...

最新文章

  1. 《LeetCode力扣练习》第206题 反转链表 Java
  2. hdu1576 mod 运算的逆元
  3. Python课堂:判定IP地址合法性的三种方法
  4. maven超级pom内容
  5. 限制输入框只能输入数字
  6. 佛媛之后又产“新妖”,抖音、快手出马,依旧掐不灭鬼怪们的妖火
  7. android dbflow教程,Android高性能ORM数据库DBFlow入门教程
  8. 学习笔记3 :pyqt5 显示opencv 和 PIL图片
  9. 好的营销,往往叫广深高速
  10. 从零基础入门Tensorflow2.0 ----三、8. 自定义层次
  11. Google Reader 使用技巧及OPML订阅源分享
  12. Android开发汇总帖子
  13. Linux自学之旅-安装篇(设备文件名)
  14. Mathematica 13 for Mac(科学计算软件)
  15. 使用Git初始化已有的项目
  16. C Function Complement
  17. 单元测试(01) 调试过程中遇到 Method isEmpty in android.text.TextUtils not mocked
  18. Focal Loss 简介
  19. 高端光刻机为什么那么难制造?
  20. 大学计算机python期末考试_大学计算机程序设计(Python)_章节测验,期末考试,慕课答案查询公众号...

热门文章

  1. Docker持续部署图文详解
  2. 网站托管的内容细节你都清楚吗?
  3. sql server2008用ip远程连接
  4. 2015 年 Git@OSC 新增热门开源软件项目 Top 50
  5. [angularjs] angularjs系列笔记(四)控制器
  6. Windows Server 2008 定义用户桌面图标
  7. JQuery控制图片无缝滚动
  8. 你要成为人才,先学习做伯乐
  9. 洛谷P3960 列队(Splay)
  10. 查找表包含的页和页所在的表