diff --git a/pmapi/pom.xml b/pmapi/pom.xml index 2127f85..c1c42b9 100644 --- a/pmapi/pom.xml +++ b/pmapi/pom.xml @@ -14,11 +14,6 @@ - - - org.springframework.boot - spring-boot-starter-security - com.google.guava guava @@ -163,7 +158,7 @@ org.springframework.boot spring-boot-starter-test - test + org.mapstruct @@ -192,6 +187,10 @@ org.slf4j slf4j-log4j12 + + + + @@ -207,6 +206,7 @@ com.ningdatech nd-flowable-starter + true diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/App.java b/pmapi/src/main/java/com/ningdatech/pmapi/App.java index 4e564c1..39024fd 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/App.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/App.java @@ -4,6 +4,7 @@ import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.EnableAspectJAutoProxy; +import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; @@ -11,6 +12,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; * @author liuxinxin */ @SpringBootApplication +@EnableAsync @MapperScan(App.MAPPER_PACKAGES) @EnableScheduling @EnableTransactionManagement diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/constant/CommonConstant.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/constant/CommonConstant.java new file mode 100644 index 0000000..59becb4 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/constant/CommonConstant.java @@ -0,0 +1,18 @@ +package com.ningdatech.pmapi.common.constant; + +/** + * @description: 常量 + * @author: LiuXinXin + * @date: 2022/5/5 17:31 + */ +public class CommonConstant { + + public static final String COOKIE_KEY = "ND_JSESSION"; + + public static final Integer EXPORT_PAGE_NUMBER= 1; + + public static final Integer EXPORT_PAGE_SIZE= 100000; + public static final String CALL_STATUS = "status"; + public static final String CALL_STATUS_OK_VALUE = "ok"; + +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/handler/GlobalResponseHandler.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/handler/GlobalResponseHandler.java index d361210..49b5ee2 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/common/handler/GlobalResponseHandler.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/handler/GlobalResponseHandler.java @@ -38,7 +38,8 @@ public class GlobalResponseHandler implements ResponseBodyAdvice { if (o instanceof String) { return JSONUtil.toJsonStr(apiResponse); } - return ApiResponse.ofSuccess(o); +// return ApiResponse.ofSuccess(o); + return o; } private Boolean filter(MethodParameter methodParameter) { diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/config/AuthProperties.java b/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/AuthProperties.java similarity index 97% rename from pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/config/AuthProperties.java rename to pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/AuthProperties.java index 8d0be9e..16d9091 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/config/AuthProperties.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/AuthProperties.java @@ -1,4 +1,4 @@ -package com.ningdatech.pmapi.user.security.auth.config; +package com.ningdatech.pmapi.user.security.auth; import cn.hutool.core.collection.CollectionUtil; import com.ningdatech.basic.factory.PropertySourceFactory; diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/config/AuthenticationBeanConfig.java b/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/AuthenticationBeanConfig.java similarity index 92% rename from pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/config/AuthenticationBeanConfig.java rename to pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/AuthenticationBeanConfig.java index 37d7da7..944ae5b 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/config/AuthenticationBeanConfig.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/AuthenticationBeanConfig.java @@ -1,4 +1,4 @@ -package com.ningdatech.pmapi.user.security.auth.config; +package com.ningdatech.pmapi.user.security.auth; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/WebSecurityConfig.java b/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/WebSecurityConfig.java index a676ee1..9c124de 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/WebSecurityConfig.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/WebSecurityConfig.java @@ -3,7 +3,7 @@ package com.ningdatech.pmapi.user.security.auth; import com.ningdatech.basic.util.NdJsonUtil; import com.ningdatech.basic.util.StrPool; import com.ningdatech.pmapi.common.constant.BizConst; -import com.ningdatech.pmapi.user.security.auth.config.AuthProperties; +import com.ningdatech.pmapi.common.constant.CommonConstant; import com.ningdatech.pmapi.user.security.auth.handler.DefaultExpiredSessionStrategy; import com.ningdatech.pmapi.user.security.auth.password.UsernamePasswordAuthSecurityConfig; import org.springframework.beans.factory.annotation.Qualifier; @@ -46,30 +46,30 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { protected void configure(HttpSecurity http) throws Exception { assemblerPreAuthUrls(http); http.formLogin() - .and() - .exceptionHandling() - .authenticationEntryPoint(authenticationEntryPoint()) + .loginPage(authProperties.getAuthRequireUrl()) .and().apply(usernamePasswordAuthSecurityConfig) .and() - .authorizeRequests() - .antMatchers(authProperties.getIgnoreAuthUrlsArray()).permitAll() - .anyRequest() - .authenticated() - .and() + .authorizeRequests().antMatchers(authProperties.getIgnoreAuthUrlsArray()).permitAll().anyRequest() + .authenticated().and() // 防止固定会话攻击,Spring security的默认配置就是如此: // 登陆成功之后会创建一个新的会话,然后将旧的session信息复制到新的session中(客户端的sessionId变了) .sessionManagement().invalidSessionUrl(authProperties.getInvalidSessionUrl()).sessionFixation() .migrateSession() // .invalidSessionStrategy(defaultInvalidSessionStrategy) - .maximumSessions(10).maxSessionsPreventsLogin(true).expiredSessionStrategy(defaultExpiredSessionStrategy) - .and().and().logout().logoutUrl(authProperties.getLogoutUrl()).logoutSuccessHandler(logoutSuccessHandler) - .deleteCookies(BizConst.COOKIE_KEY) + .maximumSessions(10) + .maxSessionsPreventsLogin(true) + .expiredSessionStrategy(defaultExpiredSessionStrategy) + .and().and() + .logout().logoutUrl(authProperties.getLogoutUrl()).logoutSuccessHandler(logoutSuccessHandler) + .deleteCookies(CommonConstant.COOKIE_KEY) + // .and() + // .cors().configurationSource(corsConfigurationSource()) .and() + // .csrf().disable(); // 开启csrf验证,需要前端同步传入token .csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()) .ignoringAntMatchers(authProperties.getIgnoreCsrfUrlsArray()); - - + // http.anonymous().authenticationFilter(availableUserAuthenticationFilter); } private AuthenticationEntryPoint authenticationEntryPoint() { @@ -94,4 +94,5 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { } } + } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/config/RedisSessionConfig.java b/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/config/RedisSessionConfig.java index af60fcd..24ed498 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/config/RedisSessionConfig.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/config/RedisSessionConfig.java @@ -1,4 +1,4 @@ -//package com.ningdatech.pmapi.user.security.auth.config; +package com.ningdatech.pmapi.user.security.auth.config;//package com.ningdatech.pmapi.user.security.auth.config; // //import com.ningdatech.basic.util.StrPool; //import org.springframework.beans.factory.annotation.Value; diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/password/UsernamePasswordAuthSecurityConfig.java b/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/password/UsernamePasswordAuthSecurityConfig.java index da48c8d..ce0759e 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/password/UsernamePasswordAuthSecurityConfig.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/user/security/auth/password/UsernamePasswordAuthSecurityConfig.java @@ -1,6 +1,6 @@ package com.ningdatech.pmapi.user.security.auth.password; -import com.ningdatech.pmapi.user.security.auth.config.AuthProperties; +import com.ningdatech.pmapi.user.security.auth.AuthProperties; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.security.authentication.AuthenticationManager; diff --git a/pmapi/src/main/resources/security/auth-dev.yml b/pmapi/src/main/resources/security/auth-dev.yml index 887aed5..5ecda99 100644 --- a/pmapi/src/main/resources/security/auth-dev.yml +++ b/pmapi/src/main/resources/security/auth-dev.yml @@ -19,6 +19,8 @@ security: - /ok.html - /open/api/** - /oa/** + - /wflow/** + - /sys/** ignore-csrf-urls: - /api/v1/user/auth/** - /v2/api-docs @@ -33,6 +35,8 @@ security: - /optLog/** - /dict/** - /oa/** + - /wflow/** + - /sys/** role-map: "engineer": "project_manager": diff --git a/pom.xml b/pom.xml index 8b7267e..ad3b7ec 100644 --- a/pom.xml +++ b/pom.xml @@ -106,11 +106,6 @@ flowable-spring-boot-starter-actuator 6.7.2 - - cn.dev33 - sa-token-spring-boot-starter - 1.30.0 - com.kingbase8