(十一)java版spring cloud+spring boot+redis多租户社交电子商务平台- commonservice-sso服务搭建(一)...
电子商务平台源码请加企鹅求求:一零三八七七四六二六。前面几篇我们已经介绍了Spring Cloud和oauth2的知识点,今天我们要利用Spring Cloud和oauth2进行commonservice-sso服务搭建,本节我们只是搭建commonservice-sso的基础平台,闲话少说,直接将步骤记录下来:
- 创建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>
复制代码
- 配置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
复制代码
- 配置项目启动文件
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); }
}
复制代码
- 创建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服务搭建(一)...相关推荐
- java版spring cloud+spring boot+redis多租户社交电子商务平台 (十一)docker部署spring cloud项目...
一.docker简介 电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过 ...
- (三十一)java版spring cloud+spring boot+redis多租户社交电子商务平台-spring-cloud-config...
电子商务平台源码请加企鹅求求:一零三八七七四六二六.创建配置管理服务器及实现分布式配置管理应用,实现统一配置管理. 提供三种方式: 基于git 基于svn(淘汰) 基于本地文件(测试使用) 如何使用 ...
- java版spring cloud+spring boot+redis多租户社交电子商务平台(三)SpringBoot用JdbcTemplates访问Mysql...
准备工作 jdk 1.8 maven 3.0 idea mysql springcloud b2b2c电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.初始化mysql: -- create t ...
- (四十三)java版spring cloud+spring boot+redis多租户社交电子商务平台-eureka集群整合config配置中心...
电子商务平台源码请加企鹅求求:三五三六二四七二五九.加入依赖 <dependencies><!-- 监控 --><dependency><groupId> ...
- java版spring cloud+spring boot+redis多租户社交电子商务平台(十二)断路器监控(Hystrix Dashboard)...
电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.在我的第四篇文章断路器讲述了如何使用断路器,并简单的介绍了下Hystrix Dashboard组件,这篇文章更加详细的介绍Hystrix Das ...
- (一)java版spring cloud+spring boot+redis多租户社交电子商务平台-简介
Spring cloud b2b2c电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.Spring Cloud是一系列框架的有序集合.利用Spring Boot的开发模式简化了分布式系统基础设施 ...
- (八)java版spring cloud+spring boot+redis多租户社交电子商务平台 -SSO单点登录之OAuth2.0登录认证(2)...
电子商务平台源码请加企鹅求求:一零三八七七四六二六.上一篇是站在巨人的肩膀上去研究OAuth2.0,也是为了快速帮助大家认识OAuth2.0,闲话少说,我根据框架中OAuth2.0的使用总结,画了一个 ...
- (三十)java版spring cloud+spring boot+redis多租户社交电子商务平台- gateway限流
电子商务平台源码请加企鹅求求:一零三八七七四六二六.限流一般有两个实现方式,令牌桶和漏桶. 金牌桶是初始化令牌(容器)的个数,通过拿走里边的令牌就能通过, 没有令牌不能报错,可以设置向容器中增加令牌的 ...
- java版spring cloud+spring boot+redis多租户社交电子商务平台 (十三)springboot集成spring cache...
电子商务社交平台源码请加企鹅求求:三五三六二四七二五九 本文介绍如何在springboot中使用默认的spring cache, 声明式缓存 Spring 定义 CacheManager 和 Cach ...
最新文章
- 《LeetCode力扣练习》第206题 反转链表 Java
- hdu1576 mod 运算的逆元
- Python课堂:判定IP地址合法性的三种方法
- maven超级pom内容
- 限制输入框只能输入数字
- 佛媛之后又产“新妖”,抖音、快手出马,依旧掐不灭鬼怪们的妖火
- android dbflow教程,Android高性能ORM数据库DBFlow入门教程
- 学习笔记3 :pyqt5 显示opencv 和 PIL图片
- 好的营销,往往叫广深高速
- 从零基础入门Tensorflow2.0 ----三、8. 自定义层次
- Google Reader 使用技巧及OPML订阅源分享
- Android开发汇总帖子
- Linux自学之旅-安装篇(设备文件名)
- Mathematica 13 for Mac(科学计算软件)
- 使用Git初始化已有的项目
- C Function Complement
- 单元测试(01) 调试过程中遇到 Method isEmpty in android.text.TextUtils not mocked
- Focal Loss 简介
- 高端光刻机为什么那么难制造?
- 大学计算机python期末考试_大学计算机程序设计(Python)_章节测验,期末考试,慕课答案查询公众号...