博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(十五)Java B2B2C o2o多用户商城 springcloud架构 - commonservice-sso服务搭建(一)
阅读量:6353 次
发布时间:2019-06-22

本文共 7917 字,大约阅读时间需要 26 分钟。

前面几篇我们已经介绍了Spring Cloud和oauth2的知识点,今天我们要利用Spring Cloud和oauth2进行commonservice-sso服务搭建,本节我们只是搭建commonservice-sso的基础平台,闲话少说,直接将步骤记录下来:

1. 创建maven项目commonservice-sso,其中pom.xml文件配置如下:

4.0.0
com.ml.honghu
commonservice
0.0.1-SNAPSHOT
commonservice-sso
jar
org.springframework.cloud
spring-cloud-starter-eureka
org.springframework.cloud
spring-cloud-starter-config
org.springframework.boot
spring-boot-starter-actuator
org.springframework.boot
spring-boot-starter-data-rest
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-security
org.springframework.security.oauth
spring-security-oauth2
org.springframework.boot
spring-boot-starter-test
org.springframework.hateoas
spring-hateoas
org.springframework.boot
spring-boot-starter-data-rest
com.ml.honghu.common.framework
common-framework-dao
1.0.0-SNAPSHOT
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-freemarker
com.ml.honghu
component-base
org.springframework.boot
spring-boot-maven-plugin
1
repackage
2
build-info

 2. 配置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

3. 配置项目启动文件

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架构的搭建过程及如何运用于企业项目。

需要JAVASpring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求:一零三八七七四六二六 

转载于:https://www.cnblogs.com/sunnysunny/p/10643447.html

你可能感兴趣的文章
[原][osgEarth]添加自由飞行漫游器
查看>>
代码审查 Code Review
查看>>
fastjson如何指定字段不序列化
查看>>
[日常] Go语言圣经--示例: 并发的Echo服务
查看>>
BZOJ1969: [Ahoi2005]LANE 航线规划(LCT)
查看>>
linux内存管理之malloc、vmalloc、kmalloc的区别
查看>>
GreenDao 数据库升级 连接多个DB文件 或者指定不同的model&dao目录
查看>>
M1卡破解(自从学校升级系统之后,还准备在研究下)【转】
查看>>
vue 访问子组件示例 或者子元素
查看>>
linux内核--自旋锁的理解
查看>>
银行卡的三个磁道
查看>>
OpenSSL 提取 pfx 数字证书公钥与私钥
查看>>
Keepalived详解(四):通过vrrp_script实现对集群资源的监控【转】
查看>>
CollapsingToolbarLayoutDemo【可折叠式标题栏,顺便带有CardView卡片式布局】
查看>>
CentOS7.4安装配置mysql5.7 TAR免安装版
查看>>
解决IE二级链接无法打开故障
查看>>
Windows phone应用开发[16]-数据加密
查看>>
SQL Server 迁移数据到MySQL
查看>>
通用数据压缩算法简介
查看>>
The next Industry Standard in IT Monitoring, a python implementation Nagios like tool --- Shinken
查看>>