22
33import com .codingapi .springboot .security .configurer .HttpSecurityConfigurer ;
44import com .codingapi .springboot .security .controller .VersionController ;
5+ import com .codingapi .springboot .security .dto .request .LoginRequest ;
56import com .codingapi .springboot .security .filter .*;
67import com .codingapi .springboot .security .jwt .Jwt ;
8+ import com .codingapi .springboot .security .jwt .Token ;
79import com .codingapi .springboot .security .properties .SecurityJwtProperties ;
810import org .springframework .boot .autoconfigure .condition .ConditionalOnMissingBean ;
911import org .springframework .boot .context .properties .ConfigurationProperties ;
2426import org .springframework .web .servlet .config .annotation .CorsRegistry ;
2527import org .springframework .web .servlet .config .annotation .WebMvcConfigurer ;
2628
29+ import javax .servlet .http .HttpServletRequest ;
30+ import javax .servlet .http .HttpServletResponse ;
31+
2732@ Configuration
2833@ EnableWebSecurity
2934public class AutoConfiguration {
@@ -53,28 +58,45 @@ public PasswordEncoder passwordEncoder() {
5358 return PasswordEncoderFactories .createDelegatingPasswordEncoder ();
5459 }
5560
61+ @ Bean
62+ @ ConditionalOnMissingBean
63+ public AuthenticationTokenFilter authenticationTokenFilter () {
64+ return (request , response , chain ) -> {
65+
66+ };
67+ }
68+
5669
5770 @ Bean
5871 @ ConditionalOnMissingBean
59- public SecurityLoginHandler securityLoginHandler (){
60- return (request , response , handler ) -> {
72+ public SecurityLoginHandler securityLoginHandler () {
73+ return new SecurityLoginHandler () {
74+ @ Override
75+ public void preHandle (HttpServletRequest request , HttpServletResponse response , LoginRequest handler ) throws Exception {
76+
77+ }
78+
79+ @ Override
80+ public void postHandle (HttpServletRequest request , HttpServletResponse response , LoginRequest handler , Token token ) {
81+
82+ }
6183 };
6284 }
6385
6486
6587 @ Bean
6688 @ ConditionalOnMissingBean
67- public SecurityFilterChain filterChain (HttpSecurity security , Jwt jwt ,SecurityLoginHandler loginHandler ,
68- SecurityJwtProperties properties ) throws Exception {
89+ public SecurityFilterChain filterChain (HttpSecurity security , Jwt jwt , SecurityLoginHandler loginHandler ,
90+ SecurityJwtProperties properties , AuthenticationTokenFilter authenticationTokenFilter ) throws Exception {
6991 //disable basic auth
7092 security .httpBasic ().disable ();
7193
7294 //before add addCorsMappings to enable cors.
7395 security .cors ();
74- if (properties .isDisableCsrf () ) {
96+ if (properties .isDisableCsrf ()) {
7597 security .csrf ().disable ();
7698 }
77- security .apply (new HttpSecurityConfigurer (jwt ,loginHandler ,properties ));
99+ security .apply (new HttpSecurityConfigurer (jwt , loginHandler , properties , authenticationTokenFilter ));
78100 security
79101 .exceptionHandling ()
80102 .authenticationEntryPoint (new MyUnAuthenticationEntryPoint ())
@@ -125,7 +147,7 @@ public WebMvcConfigurer corsConfigurer(SecurityJwtProperties securityJwtProperti
125147 return new WebMvcConfigurer () {
126148 @ Override
127149 public void addCorsMappings (CorsRegistry registry ) {
128- if (securityJwtProperties .isDisableCors ()) {
150+ if (securityJwtProperties .isDisableCors ()) {
129151 registry .addMapping ("/**" )
130152 .allowedHeaders ("*" )
131153 .allowedMethods ("*" )
@@ -149,7 +171,7 @@ public SecurityJwtProperties securityJwtProperties() {
149171
150172 @ Bean
151173 @ ConditionalOnMissingBean
152- public VersionController versionController (Environment environment ){
174+ public VersionController versionController (Environment environment ) {
153175 return new VersionController (environment );
154176 }
155177
0 commit comments