diff --git a/pigx-auth/pom.xml b/pigx-auth/pom.xml index c51809746..5b8f5758b 100644 --- a/pigx-auth/pom.xml +++ b/pigx-auth/pom.xml @@ -59,7 +59,7 @@ com.pig4cloud pigx-common-cache - ${pigx.version} + 1.7.0 diff --git a/pigx-common/pigx-common-cache/pom.xml b/pigx-common/pigx-common-cache/pom.xml index 553922ea6..d32dc20aa 100644 --- a/pigx-common/pigx-common-cache/pom.xml +++ b/pigx-common/pigx-common-cache/pom.xml @@ -24,7 +24,7 @@ com.pig4cloud pigx-common - ${pigx.version} + 1.7.0 pigx-common-cache @@ -38,7 +38,7 @@ com.pig4cloud pigx-common-core - ${pigx.version} + 1.7.0 diff --git a/pigx-common/pigx-common-gateway/pom.xml b/pigx-common/pigx-common-gateway/pom.xml index 7becb55aa..3969c5665 100644 --- a/pigx-common/pigx-common-gateway/pom.xml +++ b/pigx-common/pigx-common-gateway/pom.xml @@ -24,7 +24,7 @@ com.pig4cloud pigx-common - ${pigx.version} + 1.7.0 pigx-common-gateway @@ -36,7 +36,7 @@ com.pig4cloud pigx-common-core - ${pigx.version} + 1.7.0 org.springframework.cloud diff --git a/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/LogAutoConfiguration.java b/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/LogAutoConfiguration.java index 846bcd0e1..6c6fadceb 100644 --- a/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/LogAutoConfiguration.java +++ b/pigx-common/pigx-common-log/src/main/java/com/pig4cloud/pigx/common/log/LogAutoConfiguration.java @@ -22,7 +22,6 @@ package com.pig4cloud.pigx.common.log; import com.pig4cloud.pigx.admin.api.feign.RemoteLogService; import com.pig4cloud.pigx.common.log.aspect.SysLogAspect; import com.pig4cloud.pigx.common.log.event.SysLogListener; -import com.pig4cloud.pigx.common.security.feign.EnablePigxFeignClients; import lombok.AllArgsConstructor; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.context.annotation.Bean; @@ -35,7 +34,6 @@ import org.springframework.context.annotation.Configuration; */ @Configuration @AllArgsConstructor -@EnablePigxFeignClients @ConditionalOnWebApplication public class LogAutoConfiguration { private final RemoteLogService remoteLogService; diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/annotation/EnablePigxResourceServer.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/annotation/EnablePigxResourceServer.java index eff0f2f18..a6a5e8fb1 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/annotation/EnablePigxResourceServer.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/annotation/EnablePigxResourceServer.java @@ -1,8 +1,41 @@ -package com.pig4cloud.pigx.common.security; +/* + * Copyright (c) 2018-2025, lengleng All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the pig4cloud.com developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: lengleng (wangiegie@gmail.com) + */ + +package com.pig4cloud.pigx.common.security.annotation; + +import com.pig4cloud.pigx.common.security.component.PigxResourceServerAutoConfiguration; +import org.springframework.context.annotation.Import; +import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; +import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer; + +import java.lang.annotation.*; /** * @author lengleng * @date 2018/11/10 + *

+ * 资源服务注解 */ +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Inherited +@EnableResourceServer +@Import(PigxResourceServerAutoConfiguration.class) +@EnableGlobalMethodSecurity(prePostEnabled = true) public @interface EnablePigxResourceServer { } diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/BaseResourceServerConfigurerAdapter.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/BaseResourceServerConfigurerAdapter.java index 8da52bf60..8c57dc68b 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/BaseResourceServerConfigurerAdapter.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/BaseResourceServerConfigurerAdapter.java @@ -17,11 +17,16 @@ package com.pig4cloud.pigx.common.security.component; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer; import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer; import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter; import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer; import org.springframework.security.oauth2.provider.token.DefaultAccessTokenConverter; @@ -36,7 +41,11 @@ import org.springframework.web.client.RestTemplate; * 1. 支持remoteTokenServices 负载均衡 * 2. 支持 获取用户全部信息 */ -public abstract class BaseResourceServerConfigurerAdapter extends ResourceServerConfigurerAdapter { +@Slf4j +@Configuration +@EnableResourceServer +@EnableGlobalMethodSecurity(prePostEnabled = true) +public class BaseResourceServerConfigurerAdapter extends ResourceServerConfigurerAdapter { @Autowired protected ResourceAuthExceptionEntryPoint resourceAuthExceptionEntryPoint; @Autowired @@ -45,16 +54,28 @@ public abstract class BaseResourceServerConfigurerAdapter extends ResourceServer protected RemoteTokenServices remoteTokenServices; @Autowired protected UserDetailsService userDetailsService; + @Autowired + private PermitAllUrlProperties permitAllUrlProperties; /** * 默认的配置,对外暴露 * - * @param http + * @param httpSecurity * @throws Exception */ @Override - public abstract void configure(HttpSecurity http) throws Exception; + public void configure(HttpSecurity httpSecurity) throws Exception { + //允许使用iframe 嵌套,避免swagger-ui 不被加载的问题 + httpSecurity.headers().frameOptions().disable(); + ExpressionUrlAuthorizationConfigurer + .ExpressionInterceptUrlRegistry registry = httpSecurity + .authorizeRequests(); + permitAllUrlProperties.getIgnoreUrls() + .forEach(url -> registry.antMatchers(url).permitAll()); + registry.anyRequest().authenticated() + .and().csrf().disable(); + } /** * 提供子类重写 diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PermitAllUrlProperties.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PermitAllUrlProperties.java index 3ec1b7e07..08af8c534 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PermitAllUrlProperties.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PermitAllUrlProperties.java @@ -33,8 +33,8 @@ import java.util.List; */ @Data @Configuration -@ConditionalOnExpression("!'${ignore}'.isEmpty()") -@ConfigurationProperties(prefix = "ignore") +@ConditionalOnExpression("!'${security.oauth2.client.ignore-urls}'.isEmpty()") +@ConfigurationProperties(prefix = "security.oauth2.client") public class PermitAllUrlProperties { - private List urls = new ArrayList<>(); + private List ignoreUrls = new ArrayList<>(); } diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxResourceServerAutoConfiguration.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxResourceServerAutoConfiguration.java index 34a5bee2d..150d33db6 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxResourceServerAutoConfiguration.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxResourceServerAutoConfiguration.java @@ -1,8 +1,28 @@ -package com.pig4cloud.pigx.common.security; +/* + * Copyright (c) 2018-2025, lengleng All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the pig4cloud.com developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: lengleng (wangiegie@gmail.com) + */ + +package com.pig4cloud.pigx.common.security.component; + +import org.springframework.context.annotation.ComponentScan; /** * @author lengleng * @date 2018/11/10 */ +@ComponentScan("com.pig4cloud.pigx.common.security") public class PigxResourceServerAutoConfiguration { } diff --git a/pigx-common/pigx-common-security/src/main/resources/META-INF/spring.factories b/pigx-common/pigx-common-security/src/main/resources/META-INF/spring.factories index 714b4a0b0..6f1efb378 100644 --- a/pigx-common/pigx-common-security/src/main/resources/META-INF/spring.factories +++ b/pigx-common/pigx-common-security/src/main/resources/META-INF/spring.factories @@ -1,11 +1,5 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.pig4cloud.pigx.common.security.filter.TenantIdTtlFilter,\ - com.pig4cloud.pigx.common.security.component.PermissionService,\ - com.pig4cloud.pigx.common.security.component.PigAccessDeniedHandler,\ - com.pig4cloud.pigx.common.security.component.ResourceAuthExceptionEntryPoint,\ - com.pig4cloud.pigx.common.security.component.PigxResourceServerTokenRelayAutoConfiguration,\ com.pig4cloud.pigx.common.security.feign.PigxFeignClientConfiguration,\ com.pig4cloud.pigx.common.security.feign.PigxFeignTenantConfiguration,\ - com.pig4cloud.pigx.common.security.service.PigxUserDetailsServiceImpl,\ - com.pig4cloud.pigx.common.security.social.QqSocialConfig,\ - com.pig4cloud.pigx.common.security.social.WxSocialConfig + com.pig4cloud.pigx.common.security.service.PigxUserDetailsServiceImpl diff --git a/pigx-config/src/main/resources/config/application-dev.yml b/pigx-config/src/main/resources/config/application-dev.yml index 333a0a25b..ea07858eb 100644 --- a/pigx-config/src/main/resources/config/application-dev.yml +++ b/pigx-config/src/main/resources/config/application-dev.yml @@ -98,6 +98,10 @@ swagger: ## spring security 配置 security: oauth2: + client: + ignore-urls: + - '/actuator/**' + - '/v2/api-docs' resource: loadBalanced: true token-info-uri: http://pigx-auth/oauth/check_token diff --git a/pigx-config/src/main/resources/config/pigx-activiti-dev.yml b/pigx-config/src/main/resources/config/pigx-activiti-dev.yml index 73afe508e..841ef0afd 100644 --- a/pigx-config/src/main/resources/config/pigx-activiti-dev.yml +++ b/pigx-config/src/main/resources/config/pigx-activiti-dev.yml @@ -2,52 +2,23 @@ security: oauth2: client: - client-id: ENC(tz2NM4GcmnE7sNJTYL8ZSg==) - client-secret: ENC(tz2NM4GcmnE7sNJTYL8ZSg==) + client-id: ENC(gPFcUOmJm8WqM3k3eSqS0Q==) + client-secret: ENC(gPFcUOmJm8WqM3k3eSqS0Q==) scope: server - -## 定时任务 + ignore-urls: + - '/service/**' + - '/editor-app/**' + - '/task/view/*' + - '/process/resource/**' + - '/modeler.html' spring: - # 保存定时任务的数据源 + autoconfigure: + exclude: org.activiti.spring.boot.SecurityAutoConfiguration + activiti: + check-process-definitions: false datasource: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.jdbc.Driver username: root password: root url: jdbc:mysql://pigx-mysql:3306/pigxx?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false - elasticjob: - # 分布式任务协调依赖zookeeper - zookeeper: - server-lists: pigx-zookeeper:2181 - namespace: pigx-daemon - # 普通任务 - simples: - spring-simple-job: - job-class: com.pig4cloud.pigx.daemon.job.PigxSimpleJob - cron: 0 0 0/1 * * ? - sharding-total-count: 3 - sharding-item-parameters: 0=service1,1=service2,2=service3 - eventTraceRdbDataSource: 'dataSource' - listener: - listener-class: com.pig4cloud.pigx.daemon.listener.PigxElasticJobListener - spring-simple-job2: - job-class: com.pig4cloud.pigx.daemon.job.PigxSimpleJob2 - cron: 0 0 0/1 * * ? - sharding-total-count: 3 - sharding-item-parameters: 0=service1,1=service2,2=service3 - eventTraceRdbDataSource: 'dataSource' - listener: - listener-class: com.pig4cloud.pigx.daemon.listener.PigxElasticJobListener - # 简单任务 - dataflows: - spring-dataflow-job: - job-class: com.pig4cloud.pigx.daemon.job.PigxDataflowJob - cron: 0 0 0/1 * * ? - sharding-total-count: 3 - sharding-item-parameters: 0=service1,1=service2,2=service3 - streaming-process: true - eventTraceRdbDataSource: 'dataSource' - listener: - distributed-listener-class: com.pig4cloud.pigx.daemon.listener.PigxDistributeElasticJobListener - started-timeout-milliseconds: 5000 - completed-timeout-milliseconds: 10000 diff --git a/pigx-config/src/main/resources/config/pigx-upms-dev.yml b/pigx-config/src/main/resources/config/pigx-upms-dev.yml index eb1d35026..86667bbb2 100644 --- a/pigx-config/src/main/resources/config/pigx-upms-dev.yml +++ b/pigx-config/src/main/resources/config/pigx-upms-dev.yml @@ -5,6 +5,10 @@ security: client-id: ENC(ltJPpR50wT0oIY9kfOe1Iw==) client-secret: ENC(ltJPpR50wT0oIY9kfOe1Iw==) scope: server + ignore-urls: + - '/user/info/*' + - '/social/info/**' + - '/log/**' # 数据源 spring: diff --git a/pigx-gateway/pom.xml b/pigx-gateway/pom.xml index d7dbcd397..73ae4c4a7 100644 --- a/pigx-gateway/pom.xml +++ b/pigx-gateway/pom.xml @@ -46,7 +46,7 @@ com.pig4cloud pigx-common-gateway - ${pigx.version} + 1.7.0 @@ -69,7 +69,7 @@ com.pig4cloud pigx-common-cache - ${pigx.version} + 1.7.0 diff --git a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/ValidateCodeGatewayFilter.java b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/ValidateCodeGatewayFilter.java index 41b14aefc..7d7b5c61c 100644 --- a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/ValidateCodeGatewayFilter.java +++ b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/ValidateCodeGatewayFilter.java @@ -23,8 +23,8 @@ import cn.hutool.core.util.StrUtil; import com.pig4cloud.pigx.common.core.exception.CheckedException; import com.pig4cloud.pigx.common.core.exception.ValidateCodeException; import com.pig4cloud.pigx.gateway.config.FilterIgnorePropertiesConfig; +import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.gateway.filter.GatewayFilter; import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory; import org.springframework.data.redis.core.RedisTemplate; @@ -43,14 +43,13 @@ import java.io.IOException; */ @Slf4j @Component +@AllArgsConstructor public class ValidateCodeGatewayFilter extends AbstractGatewayFilterFactory { public static final String DEFAULT_CODE_KEY = "DEFAULT_CODE_KEY"; public static final String OAUTH_TOKEN_URL = "/oauth/token"; private static final String BASIC_ = "Basic "; - @Autowired - private RedisTemplate redisTemplate; - @Autowired - private FilterIgnorePropertiesConfig filterIgnorePropertiesConfig; + private final RedisTemplate redisTemplate; + private final FilterIgnorePropertiesConfig filterIgnorePropertiesConfig; /** * 从header 请求中的clientId/clientsecect diff --git a/pigx-upms/pigx-upms-biz/pom.xml b/pigx-upms/pigx-upms-biz/pom.xml index 4dfb1f9a0..63afa0506 100644 --- a/pigx-upms/pigx-upms-biz/pom.xml +++ b/pigx-upms/pigx-upms-biz/pom.xml @@ -49,7 +49,7 @@ com.pig4cloud pigx-common-cache - ${pigx.version} + 1.7.0 @@ -77,7 +77,7 @@ com.pig4cloud pigx-common-gateway - ${pigx.version} + 1.7.0 diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/PigxAdminApplication.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/PigxAdminApplication.java index a9df18ba5..1dfc30fb0 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/PigxAdminApplication.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/PigxAdminApplication.java @@ -20,6 +20,7 @@ package com.pig4cloud.pigx.admin; +import com.pig4cloud.pigx.common.security.annotation.EnablePigxResourceServer; import com.pig4cloud.pigx.common.security.feign.EnablePigxFeignClients; import com.pig4cloud.pigx.common.swagger.annotation.EnablePigxSwagger2; import org.springframework.boot.SpringApplication; @@ -33,6 +34,7 @@ import org.springframework.cloud.client.SpringCloudApplication; @EnablePigxSwagger2 @SpringCloudApplication @EnablePigxFeignClients +@EnablePigxResourceServer public class PigxAdminApplication { public static void main(String[] args) { SpringApplication.run(PigxAdminApplication.class, args); diff --git a/pigx-visual/pigx-activiti/pom.xml b/pigx-visual/pigx-activiti/pom.xml index 59f2e2cc0..05d05bdb7 100644 --- a/pigx-visual/pigx-activiti/pom.xml +++ b/pigx-visual/pigx-activiti/pom.xml @@ -23,7 +23,7 @@ com.pig4cloud pigx-visual - ${pigx.version} + 1.7.0 pigx-activiti @@ -32,16 +32,21 @@ 工作流管理模块 + + + org.springframework.cloud + spring-cloud-starter-config + com.pig4cloud pigx-common-core - ${pigx.version} + 1.7.0 com.pig4cloud pigx-upms-api - ${pigx.version} + 1.7.0 mysql @@ -106,7 +111,12 @@ com.pig4cloud pigx-common-swagger - ${pigx.version} + 1.7.0 + + + com.pig4cloud + pigx-common-security + 1.7.0 diff --git a/pigx-visual/pigx-activiti/src/main/java/com/pig4cloud/pigx/act/PigxActivitiApplication.java b/pigx-visual/pigx-activiti/src/main/java/com/pig4cloud/pigx/act/PigxActivitiApplication.java index 9bc9c49b5..e4109603d 100644 --- a/pigx-visual/pigx-activiti/src/main/java/com/pig4cloud/pigx/act/PigxActivitiApplication.java +++ b/pigx-visual/pigx-activiti/src/main/java/com/pig4cloud/pigx/act/PigxActivitiApplication.java @@ -17,22 +17,19 @@ package com.pig4cloud.pigx.act; +import com.pig4cloud.pigx.common.security.annotation.EnablePigxResourceServer; import com.pig4cloud.pigx.common.security.feign.EnablePigxFeignClients; -import org.activiti.spring.boot.SecurityAutoConfiguration; import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.client.SpringCloudApplication; /** * @author lengleng * @date 2018/9/25 * 工作流管理模块 */ -@EnableCircuitBreaker -@EnableDiscoveryClient @EnablePigxFeignClients -@SpringBootApplication(exclude = {SecurityAutoConfiguration.class}) +@EnablePigxResourceServer +@SpringCloudApplication public class PigxActivitiApplication { public static void main(String[] args) { diff --git a/pigx-visual/pigx-activiti/src/main/java/com/pig4cloud/pigx/act/config/ResourceServerConfigurer.java b/pigx-visual/pigx-activiti/src/main/java/com/pig4cloud/pigx/act/config/ResourceServerConfigurer.java index 3ed114216..98420b6f7 100644 --- a/pigx-visual/pigx-activiti/src/main/java/com/pig4cloud/pigx/act/config/ResourceServerConfigurer.java +++ b/pigx-visual/pigx-activiti/src/main/java/com/pig4cloud/pigx/act/config/ResourceServerConfigurer.java @@ -18,11 +18,7 @@ package com.pig4cloud.pigx.act.config; import com.pig4cloud.pigx.common.security.component.BaseResourceServerConfigurerAdapter; -import lombok.AllArgsConstructor; import org.springframework.context.annotation.Configuration; -import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer; import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer; /** @@ -30,29 +26,10 @@ import org.springframework.security.oauth2.config.annotation.web.configurers.Res * @date 2018/6/22 */ @Configuration -@EnableResourceServer -@AllArgsConstructor -@EnableGlobalMethodSecurity(prePostEnabled = true) -public class ResourceServerConfigurer extends BaseResourceServerConfigurerAdapter { - - @Override - public void configure(HttpSecurity http) throws Exception { - http - .headers().frameOptions().disable() - .and().authorizeRequests() - .antMatchers("/actuator/**" - , "/v2/api-docs" - , "/service/**" - , "/editor-app/**" - ,"/task/view/*" - ,"/process/resource/*/*/image" - , "/modeler.html").permitAll() - .anyRequest().authenticated() - .and().csrf().disable(); - } +public class ResourceServerConfigurer extends BaseResourceServerConfigurerAdapter { /** - * 重写抽象类实现,不需要调用feign 获取 userdetils + * 重写不需要调用feign 获取 userdetils * * @param resources */ diff --git a/pigx-visual/pigx-activiti/src/main/resources/bootstrap.yml b/pigx-visual/pigx-activiti/src/main/resources/bootstrap.yml index e382982e6..18e6a560b 100644 --- a/pigx-visual/pigx-activiti/src/main/resources/bootstrap.yml +++ b/pigx-visual/pigx-activiti/src/main/resources/bootstrap.yml @@ -4,22 +4,17 @@ server: spring: application: name: pigx-activiti - #配置中心 + # 配置中心 cloud: config: fail-fast: true name: ${spring.application.name} - profile: dev + profile: ${spring.profiles.active} discovery: enabled: true service-id: pigx-config - datasource: - url: jdbc:mysql://lengleng:3306/ac?characterEncoding=UTF-8&useSSL=false - username: root - password: 123456 - driver-class-name: com.mysql.jdbc.Driver - activiti: - check-process-definitions: false + profiles: + active: dev # 注册中心配置 eureka: @@ -29,20 +24,3 @@ eureka: service-url: defaultZone: http://pig:pig@lengleng:1025/eureka/ -## spring security 配置 -security: - oauth2: - client: - client-id: ENC(gPFcUOmJm8WqM3k3eSqS0Q==) - client-secret: ENC(gPFcUOmJm8WqM3k3eSqS0Q==) - scope: server - resource: - token-info-uri: ${security.auth.server}/check_token - auth: - server: http://lengleng:9999/auth/oauth - -# 加解密根密码 -jasypt: - encryptor: - password: pigx #根密码 -# redis 相关 diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/PigxCodeGenApplication.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/PigxCodeGenApplication.java index cde1505d8..8920d832a 100755 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/PigxCodeGenApplication.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/PigxCodeGenApplication.java @@ -17,6 +17,7 @@ package com.pig4cloud.pigx.codegen; +import com.pig4cloud.pigx.common.security.annotation.EnablePigxResourceServer; import com.pig4cloud.pigx.common.security.feign.EnablePigxFeignClients; import com.pig4cloud.pigx.common.swagger.annotation.EnablePigxSwagger2; import org.springframework.boot.SpringApplication; @@ -30,6 +31,7 @@ import org.springframework.cloud.client.SpringCloudApplication; @EnablePigxSwagger2 @SpringCloudApplication @EnablePigxFeignClients +@EnablePigxResourceServer public class PigxCodeGenApplication { public static void main(String[] args) { diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/config/ResourceServerConfigurer.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/config/ResourceServerConfigurer.java index 351c636a0..60fc9236f 100644 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/config/ResourceServerConfigurer.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/config/ResourceServerConfigurer.java @@ -18,11 +18,7 @@ package com.pig4cloud.pigx.codegen.config; import com.pig4cloud.pigx.common.security.component.BaseResourceServerConfigurerAdapter; -import lombok.AllArgsConstructor; import org.springframework.context.annotation.Configuration; -import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer; import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer; /** @@ -30,21 +26,9 @@ import org.springframework.security.oauth2.config.annotation.web.configurers.Res * @date 2018/6/22 */ @Configuration -@EnableResourceServer -@AllArgsConstructor -@EnableGlobalMethodSecurity(prePostEnabled = true) public class ResourceServerConfigurer extends BaseResourceServerConfigurerAdapter { - - @Override - public void configure(HttpSecurity http) throws Exception { - http.authorizeRequests() - .antMatchers("/actuator/**", "/v2/api-docs").permitAll() - .anyRequest().authenticated() - .and().csrf().disable(); - } - /** - * 重写抽象类实现,不需要调用feign 获取 userDetailsService + * 重写实现,不需要调用feign 获取 userDetailsService * * @param resources */ diff --git a/pigx-visual/pigx-daemon/src/main/java/com/pig4cloud/pigx/daemon/PigxDaemonApplication.java b/pigx-visual/pigx-daemon/src/main/java/com/pig4cloud/pigx/daemon/PigxDaemonApplication.java index 070848200..210013fed 100644 --- a/pigx-visual/pigx-daemon/src/main/java/com/pig4cloud/pigx/daemon/PigxDaemonApplication.java +++ b/pigx-visual/pigx-daemon/src/main/java/com/pig4cloud/pigx/daemon/PigxDaemonApplication.java @@ -18,6 +18,8 @@ package com.pig4cloud.pigx.daemon; import com.pig4cloud.pigx.common.job.annotation.EnablePigxJob; +import com.pig4cloud.pigx.common.security.annotation.EnablePigxResourceServer; +import com.pig4cloud.pigx.common.security.feign.EnablePigxFeignClients; import org.springframework.boot.SpringApplication; import org.springframework.cloud.client.SpringCloudApplication; @@ -27,7 +29,9 @@ import org.springframework.cloud.client.SpringCloudApplication; * 分布式任务调度模块 */ @EnablePigxJob +@EnablePigxFeignClients @SpringCloudApplication +@EnablePigxResourceServer public class PigxDaemonApplication { public static void main(String[] args) { diff --git a/pigx-visual/pigx-daemon/src/main/java/com/pig4cloud/pigx/daemon/config/ResourceServerConfigurer.java b/pigx-visual/pigx-daemon/src/main/java/com/pig4cloud/pigx/daemon/config/ResourceServerConfigurer.java index e6daefc83..ffd90af0b 100644 --- a/pigx-visual/pigx-daemon/src/main/java/com/pig4cloud/pigx/daemon/config/ResourceServerConfigurer.java +++ b/pigx-visual/pigx-daemon/src/main/java/com/pig4cloud/pigx/daemon/config/ResourceServerConfigurer.java @@ -18,11 +18,7 @@ package com.pig4cloud.pigx.daemon.config; import com.pig4cloud.pigx.common.security.component.BaseResourceServerConfigurerAdapter; -import lombok.AllArgsConstructor; import org.springframework.context.annotation.Configuration; -import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer; import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer; /** @@ -30,21 +26,9 @@ import org.springframework.security.oauth2.config.annotation.web.configurers.Res * @date 2018/6/22 */ @Configuration -@EnableResourceServer -@AllArgsConstructor -@EnableGlobalMethodSecurity(prePostEnabled = true) public class ResourceServerConfigurer extends BaseResourceServerConfigurerAdapter { - - @Override - public void configure(HttpSecurity http) throws Exception { - http.authorizeRequests() - .antMatchers("/actuator/**", "/v2/api-docs").permitAll() - .anyRequest().authenticated() - .and().csrf().disable(); - } - /** - * 重写抽象类实现,不需要调用feign 获取 userdetils + * 重写实现,不需要调用feign 获取 userdetils * * @param resources */ diff --git a/pigx-visual/pigx-daemon/src/main/resources/bootstrap.yml b/pigx-visual/pigx-daemon/src/main/resources/bootstrap.yml index 88c5cbaf0..a26b93e08 100644 --- a/pigx-visual/pigx-daemon/src/main/resources/bootstrap.yml +++ b/pigx-visual/pigx-daemon/src/main/resources/bootstrap.yml @@ -1,5 +1,5 @@ server: - port: 5002 + port: 5001 spring: application: