ZOL论坛 > 技术论坛 > Java技术论坛 > 整合spring cloud云架构 - commonservice-sso服务搭建(一)
帖子很冷清,卤煮很失落!求安慰
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

整合spring cloud云架构 - commonservice-sso服务搭建(一)

18浏览 / 0回复

皮皮万

皮皮万

0
精华
43
帖子

等  级:Lv.3
经  验:704
  • Z金豆: 300

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:北京
  • 注  册:2017-10-12
  • 登  录:2017-11-23
发表于 2017-11-14 14:21:32
电梯直达 确定
楼主

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

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

Xml代码  整合spring cloud云架构 - commonservice-sso服务搭建(一)

  1. xml version="1.0" encoding="UTF-8"?>  

  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

  3.     xsi:schemalocetion="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  

  4.     <modelVersion>4.0.0modelVersion>  

  5.       

  6.     <parent>  

  7.         <groupId>com.ml.honghugroupId>  

  8.         <artifactId>commonserviceartifactId>  

  9.         <version>0.0.1-SNAPSHOTversion>  

  10.     parent>  

  11.   

  12.     <artifactId>commonservice-ssoartifactId>  

  13.     <packaging>jarpackaging>  

  14.   

  15.     <dependencies>  

  16.         <dependency>  

  17.             <groupId>org.springframework.cloudgroupId>  

  18.             <artifactId>spring-cloud-starter-eurekaartifactId>  

  19.         dependency>  

  20.         <dependency>  

  21.             <groupId>org.springframework.cloudgroupId>  

  22.             <artifactId>spring-cloud-starter-configartifactId>  

  23.         dependency>  

  24.         <dependency>  

  25.             <groupId>org.springframework.bootgroupId>  

  26.             <artifactId>spring-boot-starter-actuatorartifactId>  

  27.         dependency>  

  28.         <dependency>  

  29.             <groupId>org.springframework.bootgroupId>  

  30.             <artifactId>spring-boot-starter-data-restartifactId>  

  31.         dependency>  

  32.         <dependency>  

  33.             <groupId>org.springframework.bootgroupId>  

  34.             <artifactId>spring-boot-starter-webartifactId>  

  35.         dependency>  

  36.         <dependency>  

  37.             <groupId>org.springframework.bootgroupId>  

  38.             <artifactId>spring-boot-starter-securityartifactId>  

  39.         dependency>  

  40.   

  41.         <dependency>  

  42.             <groupId>org.springframework.security.oauthgroupId>  

  43.             <artifactId>spring-security-oauth2artifactId>  

  44.         dependency>  

  45.   

  46.         <dependency>  

  47.             <groupId>org.springframework.bootgroupId>  

  48.             <artifactId>spring-boot-starter-testartifactId>  

  49.         dependency>  

  50.         <dependency>  

  51.             <groupId>org.springframework.hateoasgroupId>  

  52.             <artifactId>spring-hateoasartifactId>  

  53.         dependency>  

  54.         <dependency>  

  55.             <groupId>org.springframework.bootgroupId>  

  56.             <artifactId>spring-boot-starter-data-restartifactId>  

  57.         dependency>  

  58.         <dependency>  

  59.             <groupId>com.ml.honghu.common.frameworkgroupId>  

  60.             <artifactId>common-framework-daoartifactId>  

  61.             <version>1.0.0-SNAPSHOTversion>  

  62.         dependency>  

  63.         <dependency>  

  64.             <groupId>org.springframework.bootgroupId>  

  65.             <artifactId>spring-boot-starter-webartifactId>  

  66.         dependency>  

  67.         <dependency>  

  68.             <groupId>org.springframework.bootgroupId>  

  69.             <artifactId>spring-boot-starter-freemarkerartifactId>  

  70.         dependency>  

  71.         <dependency>  

  72.             <groupId>com.ml.honghugroupId>  

  73.             <artifactId>component-bbseartifactId>  

  74.         dependency>  

  75.         dependency>  

  76.     dependencies>  

  77.   

  78.       

  79.     <build>  

  80.         <plugins>  

  81.             <plugin>  

  82.                 <groupId>org.springframework.bootgroupId>  

  83.                 <artifactId>spring-boot-maven-pluginartifactId>  

  84.                 <executions>  

  85.                     <execution>  

  86.                         <id>1id>  

  87.                         <goals>  

  88.                             <goal>repackagegoal>  

  89.                         goals>  

  90.                     execution>  

  91.                     <execution>  

  92.                         <id>2id>  

  93.                         <goals>  

  94.                             <goal>build-infogoal>  

  95.                         goals>  

  96.                     execution>  

  97.                 executions>  

  98.             plugin>  

  99.         plugins>  

  100.     build>  

  101. project>  

 2. 配置bootstrap.yml文件

Xml代码  整合spring cloud云架构 - commonservice-sso服务搭建(一)

  1. spring:  

  2.   application:  

  3.     name: commonservice-sso  

  4.   profiles:   

  5.     active: dev,discoveryClient  

  6.   cloud:  

  7.     config:  

  8.       discovery:   

  9.         enabled: true  

  10.         service-id: commonservice-config-server  

  11. eureka:   

  12.   client:  

  13.     service-url:  

  14.       defaultZone: http://honghu:123456@localhost:8761/eureka  

  15.   instance:  

  16.     prefer-ip-address: true  

 3. 配置项目启动文件

Java代码  整合spring cloud云架构 - commonservice-sso服务搭建(一)

  1. package com.ml.honghu;  

  2.   

  3. import org.springframework.boot.SpringApplication;  

  4. import org.springframework.boot.autoconfigure.SpringBootApplication;  

  5. import org.springframework.cloud.netflix.eureka.EnableEurekaClient;  

  6.   

  7. @SpringBootApplication  

  8. @EnableEurekaClient  

  9. public class SSOApplication {  

  10.     public static void main(String[] args) {  

  11.         SpringApplication.run(SSOApplication.class, args);  

  12.     }  

  13. }  

 4. 创建sso相关表:

oauth_access_token、oauth_approvals、

oauth_client_details、oauth_client_token、

oauth_code、oauth_refresh_token

 

脚本如下:

Java代码  整合spring cloud云架构 - commonservice-sso服务搭建(一)

  1. /* 

  2. Navicat MySQL Data Transfer 

  3.  

  4. Source Server         : localhost 

  5. Source Server Version : 50621 

  6. Source Host           : localhost:3306 

  7. Source Databbse       : honghu 

  8.  

  9. Target Server Type    : MYSQL 

  10. Target Server Version : 50621 

  11. File Encoding         : 65001 

  12.  

  13. Date: 2017-10-26 20:12:56 

  14. */  

  15.   

  16. SET FOREIGN_KEY_CHECKS=0;  

  17.   

  18. -- ----------------------------  

  19. -- Table structure for `oauth_access_token`  

  20. -- ----------------------------  

  21. DROP TABLE IF EXISTS `oauth_access_token`;  

  22. CREATE TABLE `oauth_access_token` (  

  23.   `token_id` varchar(256) DEFAULT NULL,  

  24.   `token` blob,  

  25.   `authentication_id` varchar(128) NOT NULL,  

  26.   `user_name` varchar(256) DEFAULT NULL,  

  27.   `client_id` varchar(256) DEFAULT NULL,  

  28.   `authentication` blob,  

  29.   `refresh_token` varchar(256) DEFAULT NULL,  

  30.   PRIMARY KEY (`authentication_id`)  

  31. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  

  32.   

  33.   

  34. -- ----------------------------  

  35. -- Table structure for `oauth_approvals`  

  36. -- ----------------------------  

  37. DROP TABLE IF EXISTS `oauth_approvals`;  

  38. CREATE TABLE `oauth_approvals` (  

  39.   `userId` varchar(256) DEFAULT NULL,  

  40.   `clientId` varchar(256) DEFAULT NULL,  

  41.   `scope` varchar(256) DEFAULT NULL,  

  42.   `status` varchar(10) DEFAULT NULL,  

  43.   `expiresAt` datetime DEFAULT NULL,  

  44.   `lastModifiedAt` datetime DEFAULT NULL  

  45. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  

  46.   

  47. -- ----------------------------  

  48. -- Records of oauth_approvals  

  49. -- ----------------------------  

  50.   

  51. -- ----------------------------  

  52. -- Table structure for `oauth_client_details`  

  53. -- ----------------------------  

  54. DROP TABLE IF EXISTS `oauth_client_details`;  

  55. CREATE TABLE `oauth_client_details` (  

  56.   `client_id` varchar(128) NOT NULL,  

  57.   `resource_ids` varchar(256) DEFAULT NULL,  

  58.   `client_secret` varchar(256) DEFAULT NULL,  

  59.   `scope` varchar(256) DEFAULT NULL,  

  60.   `authorized_grant_types` varchar(256) DEFAULT NULL,  

  61.   `web_server_redirect_uri` varchar(256) DEFAULT NULL,  

  62.   `authorities` varchar(256) DEFAULT NULL,  

  63.   `access_token_validity` int(11) DEFAULT NULL,  

  64.   `refresh_token_validity` int(11) DEFAULT NULL,  

  65.   `additional_information` varchar(4096) DEFAULT NULL,  

  66.   `autoapprove` varchar(256) DEFAULT NULL,  

  67.   PRIMARY KEY (`client_id`)  

  68. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  

  69.   

  70.   

  71. -- ----------------------------  

  72. -- Table structure for `oauth_client_token`  

  73. -- ----------------------------  

  74. DROP TABLE IF EXISTS `oauth_client_token`;  

  75. CREATE TABLE `oauth_client_token` (  

  76.   `token_id` varchar(256) DEFAULT NULL,  

  77.   `token` blob,  

  78.   `authentication_id` varchar(128) NOT NULL,  

  79.   `user_name` varchar(256) DEFAULT NULL,  

  80.   `client_id` varchar(256) DEFAULT NULL,  

  81.   PRIMARY KEY (`authentication_id`)  

  82. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  

  83.   

  84. -- ----------------------------  

  85. -- Records of oauth_client_token  

  86. -- ----------------------------  

  87.   

  88. -- ----------------------------  

  89. -- Table structure for `oauth_code`  

  90. -- ----------------------------  

  91. DROP TABLE IF EXISTS `oauth_code`;  

  92. CREATE TABLE `oauth_code` (  

  93.   `code` varchar(256) DEFAULT NULL,  

  94.   `authentication` blob  

  95. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  

  96.   

  97. -- ----------------------------  

  98. -- Records of oauth_code  

  99. -- ----------------------------  

  100.   

  101. -- ----------------------------  

  102. -- Table structure for `oauth_refresh_token`  

  103. -- ----------------------------  

  104. DROP TABLE IF EXISTS `oauth_refresh_token`;  

  105. CREATE TABLE `oauth_refresh_token` (  

  106.   `token_id` varchar(256) DEFAULT NULL,  

  107.   `token` blob,  

  108.   `authentication` blob  

  109. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  

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

 

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

高级模式
论坛精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL论坛您有任何使用问题和建议 您可以 联系论坛管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表