diff --git a/pom.xml b/pom.xml index 6d7d75d3..c5ed5650 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ com.codingapi.springboot springboot-parent - 3.2.2 + 3.2.3 https://github.com/codingapi/springboot-framewrok springboot-parent diff --git a/springboot-starter-data-fast/pom.xml b/springboot-starter-data-fast/pom.xml index b669b35f..660065a2 100644 --- a/springboot-starter-data-fast/pom.xml +++ b/springboot-starter-data-fast/pom.xml @@ -5,7 +5,7 @@ springboot-parent com.codingapi.springboot - 3.2.2 + 3.2.3 4.0.0 @@ -61,4 +61,4 @@ - \ No newline at end of file + diff --git a/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/DataFastConfiguration.java b/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/DataFastConfiguration.java index d765dc4a..24c31d8a 100644 --- a/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/DataFastConfiguration.java +++ b/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/DataFastConfiguration.java @@ -1,9 +1,10 @@ package com.codingapi.springboot.fast; import com.codingapi.springboot.fast.manager.EntityManagerInitializer; -import com.codingapi.springboot.fast.mapping.MvcMappingRegister; -import com.codingapi.springboot.fast.script.ScriptMappingRegister; +import com.codingapi.springboot.fast.mapping.FastMvcMappingRegister; +import com.codingapi.springboot.fast.script.FastScriptMappingRegister; import jakarta.persistence.EntityManager; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; @@ -18,8 +19,8 @@ public class DataFastConfiguration { @Bean @ConditionalOnMissingBean - public MvcMappingRegister mvcMappingRegister(RequestMappingHandlerMapping handlerMapping) { - return new MvcMappingRegister(handlerMapping); + public FastMvcMappingRegister fastMvcMappingRegister(@Qualifier("requestMappingHandlerMapping") RequestMappingHandlerMapping requestMappingHandlerMapping) { + return new FastMvcMappingRegister(requestMappingHandlerMapping); } @@ -31,8 +32,8 @@ public EntityManagerInitializer entityManagerInitializer(EntityManager entityMan @Bean - public ScriptMappingRegister scriptMappingRegister(MvcMappingRegister mvcMappingRegister) { - return new ScriptMappingRegister(mvcMappingRegister); + public FastScriptMappingRegister fastScriptMappingRegister(FastMvcMappingRegister fastMvcMappingRegister) { + return new FastScriptMappingRegister(fastMvcMappingRegister); } } diff --git a/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/mapping/MvcMappingRegister.java b/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/mapping/FastMvcMappingRegister.java similarity index 86% rename from springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/mapping/MvcMappingRegister.java rename to springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/mapping/FastMvcMappingRegister.java index dfe3ed39..b4bf0973 100644 --- a/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/mapping/MvcMappingRegister.java +++ b/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/mapping/FastMvcMappingRegister.java @@ -1,6 +1,8 @@ package com.codingapi.springboot.fast.mapping; +import jakarta.annotation.Resource; import lombok.AllArgsConstructor; +import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.mvc.method.RequestMappingInfo; @@ -9,11 +11,14 @@ import java.lang.reflect.Method; -@AllArgsConstructor -public class MvcMappingRegister { +public class FastMvcMappingRegister { private final RequestMappingHandlerMapping handlerMapping; + public FastMvcMappingRegister( + RequestMappingHandlerMapping handlerMapping) { + this.handlerMapping = handlerMapping; + } /** * add mvc mapping diff --git a/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/script/ScriptMappingRegister.java b/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/script/FastScriptMappingRegister.java similarity index 68% rename from springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/script/ScriptMappingRegister.java rename to springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/script/FastScriptMappingRegister.java index a94e9134..905f26d8 100644 --- a/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/script/ScriptMappingRegister.java +++ b/springboot-starter-data-fast/src/main/java/com/codingapi/springboot/fast/script/FastScriptMappingRegister.java @@ -1,13 +1,13 @@ package com.codingapi.springboot.fast.script; -import com.codingapi.springboot.fast.mapping.MvcMappingRegister; +import com.codingapi.springboot.fast.mapping.FastMvcMappingRegister; import com.codingapi.springboot.framework.dto.response.Response; import lombok.AllArgsConstructor; @AllArgsConstructor -public class ScriptMappingRegister { +public class FastScriptMappingRegister { - private final MvcMappingRegister mappingRegister; + private final FastMvcMappingRegister fastMvcMappingRegister; /** * test dynamic mapping @@ -15,7 +15,7 @@ public class ScriptMappingRegister { * @param scriptMapping dynamic mapping **/ public void addMapping(ScriptMapping scriptMapping) { - mappingRegister.addMapping(scriptMapping.getMapping(), scriptMapping.getScriptMethod().toRequestMethod(), + fastMvcMappingRegister.addMapping(scriptMapping.getMapping(), scriptMapping.getScriptMethod().toRequestMethod(), scriptMapping, scriptMapping.getExecuteMethod()); } @@ -38,7 +38,7 @@ public Response test(ScriptMapping scriptMapping) { * @param requestMethod request method */ public void removeMapping(String url, ScriptMethod scriptMethod){ - mappingRegister.removeMapping(url, scriptMethod.toRequestMethod()); + fastMvcMappingRegister.removeMapping(url, scriptMethod.toRequestMethod()); } diff --git a/springboot-starter-security/pom.xml b/springboot-starter-security/pom.xml index e5a3555f..07147221 100644 --- a/springboot-starter-security/pom.xml +++ b/springboot-starter-security/pom.xml @@ -6,7 +6,7 @@ springboot-parent com.codingapi.springboot - 3.2.2 + 3.2.3 springboot-starter-security diff --git a/springboot-starter-security/src/main/java/com/codingapi/springboot/security/AutoConfiguration.java b/springboot-starter-security/src/main/java/com/codingapi/springboot/security/AutoConfiguration.java index b89cfe79..54a77d48 100644 --- a/springboot-starter-security/src/main/java/com/codingapi/springboot/security/AutoConfiguration.java +++ b/springboot-starter-security/src/main/java/com/codingapi/springboot/security/AutoConfiguration.java @@ -3,6 +3,7 @@ import com.codingapi.springboot.security.configurer.HttpSecurityConfigurer; import com.codingapi.springboot.security.controller.VersionController; import com.codingapi.springboot.security.dto.request.LoginRequest; +import com.codingapi.springboot.security.dto.response.LoginResponse; import com.codingapi.springboot.security.filter.*; import com.codingapi.springboot.security.gateway.Token; import com.codingapi.springboot.security.gateway.TokenGateway; @@ -65,13 +66,17 @@ public PasswordEncoder passwordEncoder() { public SecurityLoginHandler securityLoginHandler() { return new SecurityLoginHandler() { @Override - public void preHandle(HttpServletRequest request, HttpServletResponse response, LoginRequest handler) throws Exception { + public void preHandle(HttpServletRequest request, HttpServletResponse response, LoginRequest loginRequest) throws Exception { } @Override - public void postHandle(HttpServletRequest request, HttpServletResponse response, LoginRequest handler, Token token) { - + public LoginResponse postHandle(HttpServletRequest request, HttpServletResponse response, LoginRequest loginRequest, Token token) { + LoginResponse loginResponse = new LoginResponse(); + loginResponse.setToken(token.getToken()); + loginResponse.setUsername(token.getUsername()); + loginResponse.setAuthorities(token.getAuthorities()); + return loginResponse; } }; } @@ -79,7 +84,7 @@ public void postHandle(HttpServletRequest request, HttpServletResponse response, @Bean @ConditionalOnMissingBean public AuthenticationTokenFilter authenticationTokenFilter() { - return (request, response, chain) -> { + return (request, response) -> { }; } diff --git a/springboot-starter-security/src/main/java/com/codingapi/springboot/security/dto/response/LoginResponse.java b/springboot-starter-security/src/main/java/com/codingapi/springboot/security/dto/response/LoginResponse.java index cdfc3a3f..e4845679 100644 --- a/springboot-starter-security/src/main/java/com/codingapi/springboot/security/dto/response/LoginResponse.java +++ b/springboot-starter-security/src/main/java/com/codingapi/springboot/security/dto/response/LoginResponse.java @@ -8,9 +8,8 @@ @Setter @Getter public class LoginResponse { - private String username; private String token; private List authorities; - + private Object data; } diff --git a/springboot-starter-security/src/main/java/com/codingapi/springboot/security/filter/AuthenticationTokenFilter.java b/springboot-starter-security/src/main/java/com/codingapi/springboot/security/filter/AuthenticationTokenFilter.java index b114f7e6..05c9aa90 100644 --- a/springboot-starter-security/src/main/java/com/codingapi/springboot/security/filter/AuthenticationTokenFilter.java +++ b/springboot-starter-security/src/main/java/com/codingapi/springboot/security/filter/AuthenticationTokenFilter.java @@ -1,10 +1,13 @@ package com.codingapi.springboot.security.filter; -import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; +import java.io.IOException; + public interface AuthenticationTokenFilter { - void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain); + void doFilter(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException; + } diff --git a/springboot-starter-security/src/main/java/com/codingapi/springboot/security/filter/MyAuthenticationFilter.java b/springboot-starter-security/src/main/java/com/codingapi/springboot/security/filter/MyAuthenticationFilter.java index c4305aaa..dd414bdd 100644 --- a/springboot-starter-security/src/main/java/com/codingapi/springboot/security/filter/MyAuthenticationFilter.java +++ b/springboot-starter-security/src/main/java/com/codingapi/springboot/security/filter/MyAuthenticationFilter.java @@ -71,7 +71,7 @@ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse } SecurityContextHolder.getContext().setAuthentication(token.getAuthenticationToken()); - authenticationTokenFilter.doFilter(request, response, chain); + authenticationTokenFilter.doFilter(request, response); } } chain.doFilter(request, response); diff --git a/springboot-starter-security/src/main/java/com/codingapi/springboot/security/filter/MyLoginFilter.java b/springboot-starter-security/src/main/java/com/codingapi/springboot/security/filter/MyLoginFilter.java index 962aca1c..728760b3 100644 --- a/springboot-starter-security/src/main/java/com/codingapi/springboot/security/filter/MyLoginFilter.java +++ b/springboot-starter-security/src/main/java/com/codingapi/springboot/security/filter/MyLoginFilter.java @@ -76,15 +76,10 @@ protected void successfulAuthentication(HttpServletRequest request, HttpServletR user.getAuthorities().stream().map(GrantedAuthority::getAuthority).collect(Collectors.toList()), TokenContext.getExtra()); - LoginResponse login = new LoginResponse(); - login.setUsername(user.getUsername()); - login.setToken(token.getToken()); - login.setAuthorities(token.getAuthorities()); - - String content = JSONObject.toJSONString(SingleResponse.of(login)); + LoginResponse loginResponse = loginHandler.postHandle(request,response,loginRequest,token); + String content = JSONObject.toJSONString(SingleResponse.of(loginResponse)); IOUtils.write(content, response.getOutputStream(), StandardCharsets.UTF_8); - loginHandler.postHandle(request,response,loginRequest,token); LoginRequestContext.getInstance().clean(); } diff --git a/springboot-starter-security/src/main/java/com/codingapi/springboot/security/filter/SecurityLoginHandler.java b/springboot-starter-security/src/main/java/com/codingapi/springboot/security/filter/SecurityLoginHandler.java index e73dda67..d367eeab 100644 --- a/springboot-starter-security/src/main/java/com/codingapi/springboot/security/filter/SecurityLoginHandler.java +++ b/springboot-starter-security/src/main/java/com/codingapi/springboot/security/filter/SecurityLoginHandler.java @@ -1,14 +1,15 @@ package com.codingapi.springboot.security.filter; import com.codingapi.springboot.security.dto.request.LoginRequest; +import com.codingapi.springboot.security.dto.response.LoginResponse; import com.codingapi.springboot.security.gateway.Token; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; public interface SecurityLoginHandler { - void preHandle(HttpServletRequest request, HttpServletResponse response, LoginRequest handler) throws Exception; + void preHandle(HttpServletRequest request, HttpServletResponse response, LoginRequest loginRequest) throws Exception; - void postHandle(HttpServletRequest request, HttpServletResponse response, LoginRequest handler, Token token); + LoginResponse postHandle(HttpServletRequest request, HttpServletResponse response, LoginRequest loginRequest, Token token); } diff --git a/springboot-starter/pom.xml b/springboot-starter/pom.xml index d06e5a15..7de72fa7 100644 --- a/springboot-starter/pom.xml +++ b/springboot-starter/pom.xml @@ -5,7 +5,7 @@ com.codingapi.springboot springboot-parent - 3.2.2 + 3.2.3 springboot-starter