Browse Source

!6 SpringBoot升级及安全隐患修改
Merge pull request !6 from Cambin/master

cambin04 7 years ago
parent
commit
6c0dccf4d0

+ 11 - 5
pom.xml

11
	<parent>
11
	<parent>
12
		<groupId>org.springframework.boot</groupId>
12
		<groupId>org.springframework.boot</groupId>
13
		<artifactId>spring-boot-starter-parent</artifactId>
13
		<artifactId>spring-boot-starter-parent</artifactId>
14
		<version>1.5.10.RELEASE</version>
14
		<version>2.0.0.RELEASE</version>
15
	</parent>
15
	</parent>
16
16
17
	<properties>
17
	<properties>
21
		<mybatisplus.spring.boot.version>1.0.5</mybatisplus.spring.boot.version>
21
		<mybatisplus.spring.boot.version>1.0.5</mybatisplus.spring.boot.version>
22
		<mybatisplus.version>2.1.9</mybatisplus.version>
22
		<mybatisplus.version>2.1.9</mybatisplus.version>
23
		<mysql.version>5.1.38</mysql.version>
23
		<mysql.version>5.1.38</mysql.version>
24
		<druid.version>1.1.3</druid.version>
24
		<druid.version>1.1.9</druid.version>
25
		<quartz.version>2.3.0</quartz.version>
25
		<quartz.version>2.3.0</quartz.version>
26
		<commons.lang.version>2.6</commons.lang.version>
26
		<commons.lang.version>2.6</commons.lang.version>
27
		<commons.fileupload.version>1.3.1</commons.fileupload.version>
27
		<commons.fileupload.version>1.2.2</commons.fileupload.version>
28
		<commons.io.version>2.5</commons.io.version>
28
		<commons.io.version>2.5</commons.io.version>
29
		<commons.codec.version>1.10</commons.codec.version>
29
		<commons.codec.version>1.10</commons.codec.version>
30
		<commons.configuration.version>1.10</commons.configuration.version>
30
		<commons.configuration.version>1.10</commons.configuration.version>
32
		<jwt.version>0.7.0</jwt.version>
32
		<jwt.version>0.7.0</jwt.version>
33
		<kaptcha.version>0.0.9</kaptcha.version>
33
		<kaptcha.version>0.0.9</kaptcha.version>
34
		<qiniu.version>[7.2.0, 7.2.99]</qiniu.version>
34
		<qiniu.version>[7.2.0, 7.2.99]</qiniu.version>
35
		<aliyun.oss.version>2.5.0</aliyun.oss.version>
35
		<aliyun.oss.version>2.8.3</aliyun.oss.version>
36
		<qcloud.cos.version>4.4</qcloud.cos.version>
36
		<qcloud.cos.version>4.4</qcloud.cos.version>
37
		<swagger.version>2.2.2</swagger.version>
37
		<swagger.version>2.8.0</swagger.version>
38
		<joda.time.version>2.9.9</joda.time.version>
38
		<joda.time.version>2.9.9</joda.time.version>
39
		<fastjson.version>1.2.45</fastjson.version>
39
40
40
		<!--wagon plugin 配置-->
41
		<!--wagon plugin 配置-->
41
		<service-path>/work/renren</service-path>
42
		<service-path>/work/renren</service-path>
46
	</properties>
47
	</properties>
47
48
48
	<dependencies>
49
	<dependencies>
50
		<dependency>
51
			<groupId>com.alibaba</groupId>
52
			<artifactId>fastjson</artifactId>
53
			<version>${fastjson.version}</version>
54
		</dependency>
49
		<dependency>
55
		<dependency>
50
			<groupId>org.springframework.boot</groupId>
56
			<groupId>org.springframework.boot</groupId>
51
			<artifactId>spring-boot-starter-test</artifactId>
57
			<artifactId>spring-boot-starter-test</artifactId>

+ 2 - 1
src/main/java/io/renren/RenrenApplication.java

5
import org.springframework.boot.autoconfigure.SpringBootApplication;
5
import org.springframework.boot.autoconfigure.SpringBootApplication;
6
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
6
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
7
import org.springframework.boot.builder.SpringApplicationBuilder;
7
import org.springframework.boot.builder.SpringApplicationBuilder;
8
import org.springframework.boot.web.support.SpringBootServletInitializer;
8
9
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
9
import org.springframework.context.annotation.Import;
10
import org.springframework.context.annotation.Import;
10
11
11
12

+ 2 - 2
src/main/java/io/renren/config/CorsConfig.java

2
2
3
import org.springframework.context.annotation.Configuration;
3
import org.springframework.context.annotation.Configuration;
4
import org.springframework.web.servlet.config.annotation.CorsRegistry;
4
import org.springframework.web.servlet.config.annotation.CorsRegistry;
5
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
5
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
6
6
7
@Configuration
7
@Configuration
8
public class CorsConfig extends WebMvcConfigurerAdapter {
8
public class CorsConfig implements WebMvcConfigurer {
9
9
10
    @Override
10
    @Override
11
    public void addCorsMappings(CorsRegistry registry) {
11
    public void addCorsMappings(CorsRegistry registry) {

+ 2 - 2
src/main/java/io/renren/config/SwaggerConfig.java

4
import org.springframework.context.annotation.Bean;
4
import org.springframework.context.annotation.Bean;
5
import org.springframework.context.annotation.Configuration;
5
import org.springframework.context.annotation.Configuration;
6
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
6
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
7
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
7
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
8
import springfox.documentation.builders.ApiInfoBuilder;
8
import springfox.documentation.builders.ApiInfoBuilder;
9
import springfox.documentation.builders.PathSelectors;
9
import springfox.documentation.builders.PathSelectors;
10
import springfox.documentation.builders.RequestHandlerSelectors;
10
import springfox.documentation.builders.RequestHandlerSelectors;
15
15
16
@Configuration
16
@Configuration
17
@EnableSwagger2
17
@EnableSwagger2
18
public class SwaggerConfig extends WebMvcConfigurerAdapter {
18
public class SwaggerConfig implements WebMvcConfigurer {
19
19
20
    @Override
20
    @Override
21
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
21
    public void addResourceHandlers(ResourceHandlerRegistry registry) {

+ 3 - 3
src/main/java/io/renren/modules/oss/cloud/QcloudCloudStorageService.java

17
package io.renren.modules.oss.cloud;
17
package io.renren.modules.oss.cloud;
18
18
19
19
20
import com.alibaba.fastjson.JSONObject;
20
import com.qcloud.cos.COSClient;
21
import com.qcloud.cos.COSClient;
21
import com.qcloud.cos.ClientConfig;
22
import com.qcloud.cos.ClientConfig;
22
import com.qcloud.cos.request.UploadFileRequest;
23
import com.qcloud.cos.request.UploadFileRequest;
23
import com.qcloud.cos.sign.Credentials;
24
import com.qcloud.cos.sign.Credentials;
24
import io.renren.common.exception.RRException;
25
import io.renren.common.exception.RRException;
25
import net.sf.json.JSONObject;
26
import org.apache.commons.io.IOUtils;
26
import org.apache.commons.io.IOUtils;
27
27
28
import java.io.IOException;
28
import java.io.IOException;
67
        UploadFileRequest request = new UploadFileRequest(config.getQcloudBucketName(), path, data);
67
        UploadFileRequest request = new UploadFileRequest(config.getQcloudBucketName(), path, data);
68
        String response = client.uploadFile(request);
68
        String response = client.uploadFile(request);
69
69
70
        JSONObject jsonObject = JSONObject.fromObject(response);
71
        if(jsonObject.getInt("code") != 0) {
70
        JSONObject jsonObject = JSONObject.parseObject(response);
71
        if(jsonObject.getInteger("code") != 0) {
72
            throw new RRException("文件上传失败," + jsonObject.getString("message"));
72
            throw new RRException("文件上传失败," + jsonObject.getString("message"));
73
        }
73
        }
74
74

+ 3 - 0
src/main/java/io/renren/modules/sys/entity/SysUserEntity.java

3
import com.baomidou.mybatisplus.annotations.TableField;
3
import com.baomidou.mybatisplus.annotations.TableField;
4
import com.baomidou.mybatisplus.annotations.TableId;
4
import com.baomidou.mybatisplus.annotations.TableId;
5
import com.baomidou.mybatisplus.annotations.TableName;
5
import com.baomidou.mybatisplus.annotations.TableName;
6
import com.fasterxml.jackson.annotation.JsonIgnore;
6
import io.renren.common.validator.group.AddGroup;
7
import io.renren.common.validator.group.AddGroup;
7
import io.renren.common.validator.group.UpdateGroup;
8
import io.renren.common.validator.group.UpdateGroup;
8
import org.hibernate.validator.constraints.Email;
9
import org.hibernate.validator.constraints.Email;
123
	 * 获取:密码
124
	 * 获取:密码
124
	 * @return String
125
	 * @return String
125
	 */
126
	 */
127
	@JsonIgnore
126
	public String getPassword() {
128
	public String getPassword() {
127
		return password;
129
		return password;
128
	}
130
	}
207
		this.createUserId = createUserId;
209
		this.createUserId = createUserId;
208
	}
210
	}
209
211
212
	@JsonIgnore
210
	public String getSalt() {
213
	public String getSalt() {
211
		return salt;
214
		return salt;
212
	}
215
	}

+ 4 - 4
src/main/resources/application-dev.yml

4
        driverClassName: com.mysql.jdbc.Driver
4
        driverClassName: com.mysql.jdbc.Driver
5
        druid:
5
        druid:
6
            first:  #数据源1
6
            first:  #数据源1
7
                url: jdbc:mysql://localhost:3306/renren_fast?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8
8
                username: renren
7
                url: jdbc:mysql://192.168.0.100:3309/renren_fast?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8
8
                username: root
9
                password: 123456
9
                password: 123456
10
            second:  #数据源2
10
            second:  #数据源2
11
                url: jdbc:mysql://localhost:3306/renren_fast?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8
12
                username: renren
11
                url: jdbc:mysql://192.168.0.100:3309/renren_fast?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8
12
                username: root
13
                password: 123456
13
                password: 123456
14
            initial-size: 10
14
            initial-size: 10
15
            max-active: 100
15
            max-active: 100

+ 15 - 8
src/main/resources/application.yml

4
        uri-encoding: UTF-8
4
        uri-encoding: UTF-8
5
        max-threads: 1000
5
        max-threads: 1000
6
        min-spare-threads: 30
6
        min-spare-threads: 30
7
    port: 8080
7
    port: 8082
8
    connection-timeout: 5000
8
    connection-timeout: 5000
9
    context-path: /renren-fast
9
    servlet:
10
      context-path: /renren-fast
10
11
11
spring:
12
spring:
12
    # 环境 dev|test|prod
13
    # 环境 dev|test|prod
18
        date-format: yyyy-MM-dd HH:mm:ss
19
        date-format: yyyy-MM-dd HH:mm:ss
19
    http:
20
    http:
20
        multipart:
21
        multipart:
22
          servlet:
21
            max-file-size: 100MB
23
            max-file-size: 100MB
22
            max-request-size: 100MB
24
            max-request-size: 100MB
23
            enabled: true
25
            enabled: true
26
        database: 0
28
        database: 0
27
        host: localhost
29
        host: localhost
28
        port: 6379
30
        port: 6379
29
        password:       # 密码(默认为空)
31
        password:   Nannan2017JK    # 密码(默认为空)
30
        timeout: 6000  # 连接超时时长(毫秒)
32
        timeout: 6000  # 连接超时时长(毫秒)
31
        pool:
32
            max-active: 1000  # 连接池最大连接数(使用负值表示没有限制)
33
            max-wait: -1      # 连接池最大阻塞等待时间(使用负值表示没有限制)
34
            max-idle: 10      # 连接池中的最大空闲连接
35
            min-idle: 5       # 连接池中的最空闲连接
33
        jedis:
34
          pool:
35
              max-active: 1000  # 连接池最大连接数(使用负值表示没有限制)
36
              max-wait: -1      # 连接池最大阻塞等待时间(使用负值表示没有限制)
37
              max-idle: 10      # 连接池中的最空闲连接
38
              min-idle: 5       # 连接池中的最小空闲连接
36
39
37
40
38
#mybatis
41
#mybatis
66
    call-setters-on-nulls: true
69
    call-setters-on-nulls: true
67
70
68
renren:
71
renren:
72
    redis:
73
      open: true
74
    shiro:
75
      redis: true
69
    # APP模块,是通过jwt认证的,如果要使用APP模块,则需要修改【加密秘钥】
76
    # APP模块,是通过jwt认证的,如果要使用APP模块,则需要修改【加密秘钥】
70
    jwt:
77
    jwt:
71
        # 加密秘钥
78
        # 加密秘钥