From a5440d8d81499de6fd1cfab81274d20e3c08165c Mon Sep 17 00:00:00 2001 From: mrz <17966059@qq.com> Date: Fri, 19 Apr 2024 13:30:22 +0800 Subject: [PATCH] change: 配置文件更改为生产环境和开发环境 update: 用户状态判定增加用户锁定和用户禁用状态判定. bugfix: 1 增加用户登录成功后返回用户的禁用状态和锁定状态, 2 数据MAPPER增加对应字段的查询 --- config/application.yml | 157 ------------------------------------------------------------------------------------------------------------------------------------------------------------- config/application_dev.yml | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ config/application_prd.yml | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ config/logback-dev.xml | 10 +++++----- src/main/java/com/tianbo/warehouse/controller/AnonymousController.java | 2 +- src/main/java/com/tianbo/warehouse/controller/HeartBeatController.java | 2 +- src/main/java/com/tianbo/warehouse/model/USERS.java | 9 +++++++-- src/main/java/com/tianbo/warehouse/security/handel/MyAuthenticationSuccessHandler.java | 2 ++ src/main/java/com/tianbo/warehouse/security/login/SM3EncryptUtil.java | 2 +- src/main/resources/mapping/USERSMapper.xml | 2 +- 10 files changed, 332 insertions(+), 168 deletions(-) delete mode 100755 config/application.yml create mode 100755 config/application_dev.yml create mode 100755 config/application_prd.yml diff --git a/config/application.yml b/config/application.yml deleted file mode 100755 index a31b756..0000000 --- a/config/application.yml +++ /dev/null @@ -1,157 +0,0 @@ - -#上传文件的路径,要带斜杠 -web: - upload-path: upload/ -server: - port: 8066 - servlet: - context-path: ${SERVER_CONTEXTPATH:} -spring: - devtools: - add-properties: false - profiles: - active: dev - mvc: - #静态资源,设置上传文件的访问, - static-path-pattern: /** - zipkin: - base-url: http://192.168.1.63:9411 - sleuth: - sampler: - probability: 0.1 - resources: - static-locations: classpath:/META-INF/resources/,classpath:/static,classpath:/resources/,file:${web.upload-path} - - application: - name: cloud-user-center - redis: -# host: 127.0.0.1 - host: 192.168.1.53 - port: 6379 - jackson: - serialization: - FAIL_ON_EMPTY_BEANS: false - #springboot2.0之后会把Date类型字段自动给转成UTC字符串 如:1990-11-26T16:00:00.000+0000,如果想转成时间戳在application.properties配置文件增加以下配置 - date-format: yyyy-MM-dd HH:mm:ss - #时区必须要设置 - time-zone: GMT+8 - #ALWAYS的意思是即时属性为null,仍然也会输出这个key - default-property-inclusion: always - - cloud: - #eureka主机名,会在控制页面中显示 - #DEV环境关闭注册。 - features: - enabled: true - discovery: - enabled: true - service-registry: - auto-registration: - enabled: true - - datasource: - type: com.alibaba.druid.pool.DruidDataSource - #oracle - #driver-class-name=oracle.jdbc.OracleDriver - #url=jdbc:oracle:thin:@10.50.3.68:1521:CGODW - #username=CGOETL - #password=1q2w3e4r - #spring datasource mysql,注意编码配置,缺少数据库编码配置容易引起中文入库乱码 - url: jdbc:mysql://118.31.66.166:3306/statistics?useUnicode=true&characterEncoding=utf8 - username: 110 - password: QAHqCJf2kFYCLirM - driver-class-name: com.mysql.cj.jdbc.Driver - #配置初始化大小/最小/最大 - druid: - initial-size: 1 - min-idle: 1 - max-active: 20 - #获取连接等待超时时间 - max-wait: 60000 - #一个连接在池中最小生存的时间 - min-evictable-idle-time-millis: 300000 - #间隔多久进行一次检测,检测需要关闭的空闲连接 - time-between-eviction-runs-millis: 60000 - #mysql - validation-query: SELECT 1 FROM DUAL - #oracle - #druid.validation-query:SELECT 'x' FROM DUAL - test-while-idle: true - test-on-borrow: false - test-on-return: false - default-auto-commit: true -# tomcat: -# max-wait: 10 -# max-idle: 10000 -# min-idle: 5 -# initial-size: 5 - -eureka: - instance: - #eureka服务器页面中status的请求路径 -# status-page-url: http://${eureka.instance.hostname}:${server.port}/index - prefer-ip-address: true - instance-id: ${spring.cloud.client.ip-address}:${server.port} - hostname: ${spring.cloud.client.ip-address} - lease-renewal-interval-in-seconds: 15 - lease-expiration-duration-in-seconds: 45 - health-check-url-path: /actuator/health - metadata-map: - user: - name: "admin" #These two are needed so that the server - password: "123456" - client: - #eureka注册中心服务器地址 - service-url: -# defaultZone: http://127.0.0.1:12345/eureka/ - defaultZone: http://192.168.1.53:12345/eureka/ - registry-fetch-interval-seconds: 30 - - - -management: - endpoints: - enabled-by-default: true - web: - exposure: - include: "*" - endpoint: - health: - show-details: always - shutdown: - enabled: true - -mybatis: - mapper-locations: classpath:mapping/*.xml - type-aliases-package: com.tianbo.warehouse.model -pagehelper: - #auto-dialect: true - #auto-runtime-dialect: true - helper-dialect: mysql - reasonable: true - - support-methods-arguments: true - params: count=countSql - -#debug配置,debug或者为true的时候,logback才会记录和写入日志文件 -trace: false -debug: false - -logging: - file: - path: ./logs/ - name: system.log - config: config/logback-dev.xml - #转移到logback配置文件中 - #level: - #org.apache.tomcat: info - #com.tianbo.warehouse.dao: DEBUG - #org.springframework.security: trace - #日志配置,输出到文本, -#Java Web Token 时效时间,单位秒 -jwt: - max-alive: 30000 - -info: - version: 2.0 - description: "具有公司及部门管理级别的用户管理中心" diff --git a/config/application_dev.yml b/config/application_dev.yml new file mode 100755 index 0000000..6d570cf --- /dev/null +++ b/config/application_dev.yml @@ -0,0 +1,157 @@ + +#上传文件的路径,要带斜杠 +web: + upload-path: upload/ +server: + port: 8066 + servlet: + context-path: ${SERVER_CONTEXTPATH:} +spring: + devtools: + add-properties: false + profiles: + active: dev + mvc: + #静态资源,设置上传文件的访问, + static-path-pattern: /** + zipkin: + base-url: http://192.168.1.63:9411 + sleuth: + sampler: + probability: 0.1 + resources: + static-locations: classpath:/META-INF/resources/,classpath:/static,classpath:/resources/,file:${web.upload-path} + + application: + name: cloud-user-center + redis: +# host: 127.0.0.1 + host: 192.168.1.53 + port: 6379 + jackson: + serialization: + FAIL_ON_EMPTY_BEANS: false + #springboot2.0之后会把Date类型字段自动给转成UTC字符串 如:1990-11-26T16:00:00.000+0000,如果想转成时间戳在application.properties配置文件增加以下配置 + date-format: yyyy-MM-dd HH:mm:ss + #时区必须要设置 + time-zone: GMT+8 + #ALWAYS的意思是即时属性为null,仍然也会输出这个key + default-property-inclusion: always + + cloud: + #eureka主机名,会在控制页面中显示 + #DEV环境关闭注册。 + features: + enabled: true + discovery: + enabled: true + service-registry: + auto-registration: + enabled: true + + datasource: + type: com.alibaba.druid.pool.DruidDataSource + #oracle + #driver-class-name=oracle.jdbc.OracleDriver + #url=jdbc:oracle:thin:@10.50.3.68:1521:CGODW + #username=CGOETL + #password=1q2w3e4r + #spring datasource mysql,注意编码配置,缺少数据库编码配置容易引起中文入库乱码 + url: jdbc:mysql://118.31.66.166:3306/cloud_user_center?useUnicode=true&characterEncoding=utf8 + username: 110 + password: QAHqCJf2kFYCLirM + driver-class-name: com.mysql.cj.jdbc.Driver + #配置初始化大小/最小/最大 + druid: + initial-size: 1 + min-idle: 1 + max-active: 20 + #获取连接等待超时时间 + max-wait: 60000 + #一个连接在池中最小生存的时间 + min-evictable-idle-time-millis: 300000 + #间隔多久进行一次检测,检测需要关闭的空闲连接 + time-between-eviction-runs-millis: 60000 + #mysql + validation-query: SELECT 1 FROM DUAL + #oracle + #druid.validation-query:SELECT 'x' FROM DUAL + test-while-idle: true + test-on-borrow: false + test-on-return: false + default-auto-commit: true +# tomcat: +# max-wait: 10 +# max-idle: 10000 +# min-idle: 5 +# initial-size: 5 + +eureka: + instance: + #eureka服务器页面中status的请求路径 +# status-page-url: http://${eureka.instance.hostname}:${server.port}/index + prefer-ip-address: true + instance-id: ${spring.cloud.client.ip-address}:${server.port} + hostname: ${spring.cloud.client.ip-address} + lease-renewal-interval-in-seconds: 15 + lease-expiration-duration-in-seconds: 45 + health-check-url-path: /actuator/health + metadata-map: + user: + name: "admin" #These two are needed so that the server + password: "123456" + client: + #eureka注册中心服务器地址 + service-url: +# defaultZone: http://127.0.0.1:12345/eureka/ + defaultZone: http://192.168.1.53:12345/eureka/ + registry-fetch-interval-seconds: 30 + + + +management: + endpoints: + enabled-by-default: true + web: + exposure: + include: "*" + endpoint: + health: + show-details: always + shutdown: + enabled: true + +mybatis: + mapper-locations: classpath:mapping/*.xml + type-aliases-package: com.tianbo.warehouse.model +pagehelper: + #auto-dialect: true + #auto-runtime-dialect: true + helper-dialect: mysql + reasonable: true + + support-methods-arguments: true + params: count=countSql + +#debug配置,debug或者为true的时候,logback才会记录和写入日志文件 +trace: false +debug: false + +logging: + file: + path: ./logs/ + name: system.log + config: config/logback-dev.xml + #转移到logback配置文件中 + #level: + #org.apache.tomcat: info + #com.tianbo.warehouse.dao: DEBUG + #org.springframework.security: trace + #日志配置,输出到文本, +#Java Web Token 时效时间,单位秒 +jwt: + max-alive: 30000 + +info: + version: 2.0 + description: "统一用户认证中心服务,具备用户认证,接口鉴权|数据鉴权功能." diff --git a/config/application_prd.yml b/config/application_prd.yml new file mode 100755 index 0000000..b1550ba --- /dev/null +++ b/config/application_prd.yml @@ -0,0 +1,157 @@ + +#上传文件的路径,要带斜杠 +web: + upload-path: upload/ +server: + port: 8066 + servlet: + context-path: ${SERVER_CONTEXTPATH:} +spring: + devtools: + add-properties: false + profiles: + active: prd + mvc: + #静态资源,设置上传文件的访问, + static-path-pattern: /** + zipkin: + base-url: http://192.168.1.63:9411 + sleuth: + sampler: + probability: 0.1 + resources: + static-locations: classpath:/META-INF/resources/,classpath:/static,classpath:/resources/,file:${web.upload-path} + + application: + name: cloud-user-center + redis: +# host: 127.0.0.1 + host: 192.168.1.53 + port: 6379 + jackson: + serialization: + FAIL_ON_EMPTY_BEANS: false + #springboot2.0之后会把Date类型字段自动给转成UTC字符串 如:1990-11-26T16:00:00.000+0000,如果想转成时间戳在application.properties配置文件增加以下配置 + date-format: yyyy-MM-dd HH:mm:ss + #时区必须要设置 + time-zone: GMT+8 + #ALWAYS的意思是即时属性为null,仍然也会输出这个key + default-property-inclusion: always + + cloud: + #eureka主机名,会在控制页面中显示 + #DEV环境关闭注册。 + features: + enabled: true + discovery: + enabled: true + service-registry: + auto-registration: + enabled: true + + datasource: + type: com.alibaba.druid.pool.DruidDataSource + #oracle + #driver-class-name=oracle.jdbc.OracleDriver + #url=jdbc:oracle:thin:@10.50.3.68:1521:CGODW + #username=CGOETL + #password=1q2w3e4r + #spring datasource mysql,注意编码配置,缺少数据库编码配置容易引起中文入库乱码 + url: jdbc:mysql://118.31.66.166:3306/statistics?useUnicode=true&characterEncoding=utf8 + username: 110 + password: QAHqCJf2kFYCLirM + driver-class-name: com.mysql.cj.jdbc.Driver + #配置初始化大小/最小/最大 + druid: + initial-size: 1 + min-idle: 1 + max-active: 20 + #获取连接等待超时时间 + max-wait: 60000 + #一个连接在池中最小生存的时间 + min-evictable-idle-time-millis: 300000 + #间隔多久进行一次检测,检测需要关闭的空闲连接 + time-between-eviction-runs-millis: 60000 + #mysql + validation-query: SELECT 1 FROM DUAL + #oracle + #druid.validation-query:SELECT 'x' FROM DUAL + test-while-idle: true + test-on-borrow: false + test-on-return: false + default-auto-commit: true +# tomcat: +# max-wait: 10 +# max-idle: 10000 +# min-idle: 5 +# initial-size: 5 + +eureka: + instance: + #eureka服务器页面中status的请求路径 +# status-page-url: http://${eureka.instance.hostname}:${server.port}/index + prefer-ip-address: true + instance-id: ${spring.cloud.client.ip-address}:${server.port} + hostname: ${spring.cloud.client.ip-address} + lease-renewal-interval-in-seconds: 15 + lease-expiration-duration-in-seconds: 45 + health-check-url-path: /actuator/health + metadata-map: + user: + name: "admin" #These two are needed so that the server + password: "123456" + client: + #eureka注册中心服务器地址 + service-url: +# defaultZone: http://127.0.0.1:12345/eureka/ + defaultZone: http://192.168.1.53:12345/eureka/ + registry-fetch-interval-seconds: 30 + + + +management: + endpoints: + enabled-by-default: true + web: + exposure: + include: "*" + endpoint: + health: + show-details: always + shutdown: + enabled: true + +mybatis: + mapper-locations: classpath:mapping/*.xml + type-aliases-package: com.tianbo.warehouse.model +pagehelper: + #auto-dialect: true + #auto-runtime-dialect: true + helper-dialect: mysql + reasonable: true + + support-methods-arguments: true + params: count=countSql + +#debug配置,debug或者为true的时候,logback才会记录和写入日志文件 +trace: false +debug: false + +logging: + file: + path: ./logs/ + name: system.log + config: config/logback-dev.xml + #转移到logback配置文件中 + #level: + #org.apache.tomcat: info + #com.tianbo.warehouse.dao: DEBUG + #org.springframework.security: trace + #日志配置,输出到文本, +#Java Web Token 时效时间,单位秒 +jwt: + max-alive: 30000 + +info: + version: 2.0 + description: "具有公司及部门管理级别的用户管理中心" diff --git a/config/logback-dev.xml b/config/logback-dev.xml index 76ddc20..7a9d9f3 100644 --- a/config/logback-dev.xml +++ b/config/logback-dev.xml @@ -176,15 +176,15 @@ <logger name="org.apache.tomcat" level="info" /> <root level="INFO"> <appender-ref ref="CONSOLE" /> - <appender-ref ref="DEBUG_FILE" /> - <appender-ref ref="INFO_FILE" /> - <appender-ref ref="WARN_FILE" /> - <appender-ref ref="ERROR_FILE" /> +<!-- <appender-ref ref="DEBUG_FILE" />--> +<!-- <appender-ref ref="INFO_FILE" />--> +<!-- <appender-ref ref="WARN_FILE" />--> +<!-- <appender-ref ref="ERROR_FILE" />--> </root> </springProfile> <!--生产环境:输出到文件--> - <springProfile name="pro"> + <springProfile name="prd"> <root level="info"> <appender-ref ref="CONSOLE" /> <appender-ref ref="DEBUG_FILE" /> diff --git a/src/main/java/com/tianbo/warehouse/controller/AnonymousController.java b/src/main/java/com/tianbo/warehouse/controller/AnonymousController.java index 053367b..c34ddf8 100644 --- a/src/main/java/com/tianbo/warehouse/controller/AnonymousController.java +++ b/src/main/java/com/tianbo/warehouse/controller/AnonymousController.java @@ -75,7 +75,7 @@ public class AnonymousController { String verifyToken = ""; try { verifyToken = UUID.randomUUID().toString(); - redisUtils.set(Token.VERIFY_TOKEN_KEY + verifyToken,String.valueOf(sum),1200); + redisUtils.set(Token.VERIFY_TOKEN_KEY + verifyToken,String.valueOf(sum),120); ImageIO.write(bi, "jpeg", outputStream); map.put("verifyImg","data:image/jpeg;base64,"+encoder.encode(outputStream.toByteArray())); } catch (IOException e) { diff --git a/src/main/java/com/tianbo/warehouse/controller/HeartBeatController.java b/src/main/java/com/tianbo/warehouse/controller/HeartBeatController.java index 138aec4..de60e31 100644 --- a/src/main/java/com/tianbo/warehouse/controller/HeartBeatController.java +++ b/src/main/java/com/tianbo/warehouse/controller/HeartBeatController.java @@ -61,7 +61,7 @@ public class HeartBeatController { * key样式 * accessToken:token */ - if (token!=null && !token.isEmpty() && token.startsWith(Token.VERIFY_TOKEN_TYPE)){ + if (StringUtils.isNotEmpty(token) && token.startsWith(Token.VERIFY_TOKEN_TYPE)){ token = token.substring(Token.VERIFY_TOKEN_TYPE.length()); String accessToken = token; String userDetailStr = redisUtils.get(accessToken); diff --git a/src/main/java/com/tianbo/warehouse/model/USERS.java b/src/main/java/com/tianbo/warehouse/model/USERS.java index ed54cbb..a91ddba 100755 --- a/src/main/java/com/tianbo/warehouse/model/USERS.java +++ b/src/main/java/com/tianbo/warehouse/model/USERS.java @@ -271,11 +271,16 @@ public class USERS implements UserDetails { /** * * @return 账户未锁定 + * 用户状态为0时,为锁定状态 */ @Override public boolean isAccountNonLocked(){ - if (state){ - return true; + if (this.userStatus != null){ + if(this.userStatus == 0){ + return false; + }else { + return true; + } }else { return false; } diff --git a/src/main/java/com/tianbo/warehouse/security/handel/MyAuthenticationSuccessHandler.java b/src/main/java/com/tianbo/warehouse/security/handel/MyAuthenticationSuccessHandler.java index 3c90522..2ad6d7f 100755 --- a/src/main/java/com/tianbo/warehouse/security/handel/MyAuthenticationSuccessHandler.java +++ b/src/main/java/com/tianbo/warehouse/security/handel/MyAuthenticationSuccessHandler.java @@ -72,6 +72,8 @@ public class MyAuthenticationSuccessHandler extends SavedRequestAwareAuthenticat loginedUser.setCompanyId(user.getCompanyId()); loginedUser.setCompanyName(user.getCompanyName()); loginedUser.setCompanyInfo(user.getCompanyInfo()); + loginedUser.setUserStatus(user.getUserStatus()); + loginedUser.setState(user.getState()); //设置用户的TOKEN的有效时间,时间配置在配置文件中设置 diff --git a/src/main/java/com/tianbo/warehouse/security/login/SM3EncryptUtil.java b/src/main/java/com/tianbo/warehouse/security/login/SM3EncryptUtil.java index 8c1e549..c958297 100644 --- a/src/main/java/com/tianbo/warehouse/security/login/SM3EncryptUtil.java +++ b/src/main/java/com/tianbo/warehouse/security/login/SM3EncryptUtil.java @@ -57,7 +57,7 @@ public class SM3EncryptUtil { public static void main(String[] args) { Security.addProvider(new BouncyCastleProvider()); try { - String pwdDigest = passwordSm3("vmvnv1v2VV"); + String pwdDigest = passwordSm3("vmvnv1v2"); System.out.println(pwdDigest); } catch (Exception e) { e.printStackTrace(); diff --git a/src/main/resources/mapping/USERSMapper.xml b/src/main/resources/mapping/USERSMapper.xml index 7d0af4f..00524fe 100755 --- a/src/main/resources/mapping/USERSMapper.xml +++ b/src/main/resources/mapping/USERSMapper.xml @@ -129,7 +129,7 @@ <select id="selectByUsernameWithRoleAndPerm" resultMap="WithRoleAndPermResultMap" parameterType="java.lang.String" > select u.user_id, username, password, birthday, sex, address, state, mobilePhone, creatTime, - updateTime, userFace, realName, email, age,company_id, + updateTime, userFace, realName, email, age,company_id,user_status, r.role_id, role_name, role_sign, r.description as rdescription, `type`, parentId, rsort, customs_reg_code, business_license, departmentId, mq_code, -- libgit2 0.24.0