diff --git a/build.gradle b/build.gradle index a67dd60..770300a 100644 --- a/build.gradle +++ b/build.gradle @@ -44,7 +44,6 @@ dependencies { implementation 'io.jsonwebtoken:jjwt-api:0.11.5' runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.5' runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.11.5' - implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.4' } diff --git a/logs/app.log b/logs/app.log index 6e5b8ff..de5516a 100644 --- a/logs/app.log +++ b/logs/app.log @@ -1,39 +1,3544 @@ -2025-04-01T23:18:55.180+09:00 INFO 1584 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 1584 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) -2025-04-01T23:18:55.185+09:00 DEBUG 1584 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 -2025-04-01T23:18:55.189+09:00 INFO 1584 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" -2025-04-01T23:18:56.409+09:00 INFO 1584 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-04-01T23:18:56.558+09:00 INFO 1584 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 132 ms. Found 2 JPA repository interfaces. -2025-04-01T23:18:57.384+09:00 INFO 1584 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) -2025-04-01T23:18:57.406+09:00 INFO 1584 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] -2025-04-01T23:18:57.407+09:00 INFO 1584 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] -2025-04-01T23:18:57.532+09:00 INFO 1584 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext -2025-04-01T23:18:57.532+09:00 INFO 1584 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2272 ms -2025-04-01T23:18:57.789+09:00 INFO 1584 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] -2025-04-01T23:18:57.901+09:00 INFO 1584 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final -2025-04-01T23:18:57.985+09:00 INFO 1584 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled -2025-04-01T23:18:58.509+09:00 INFO 1584 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer -2025-04-01T23:18:58.565+09:00 INFO 1584 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... -2025-04-01T23:18:59.045+09:00 INFO 1584 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@210d3a42 -2025-04-01T23:18:59.049+09:00 INFO 1584 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. -2025-04-01T23:18:59.154+09:00 WARN 1584 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) -2025-04-01T23:18:59.194+09:00 INFO 1584 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: - Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] - Database driver: undefined/unknown - Database version: 8.0.36 - Autocommit mode: undefined/unknown - Isolation level: undefined/unknown - Minimum pool size: undefined/unknown - Maximum pool size: undefined/unknown -2025-04-01T23:19:01.196+09:00 INFO 1584 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) -2025-04-01T23:19:01.369+09:00 INFO 1584 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-04-01T23:19:01.916+09:00 INFO 1584 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. -2025-04-01T23:19:02.668+09:00 DEBUG 1584 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= -2025-04-01T23:19:02.864+09:00 WARN 1584 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning -2025-04-01T23:19:02.899+09:00 INFO 1584 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService -2025-04-01T23:19:03.105+09:00 DEBUG 1584 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 10 mappings in 'requestMappingHandlerMapping' -2025-04-01T23:19:03.240+09:00 DEBUG 1584 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' -2025-04-01T23:19:03.260+09:00 WARN 1584 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /signup, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. -2025-04-01T23:19:03.494+09:00 DEBUG 1584 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice -2025-04-01T23:19:03.620+09:00 DEBUG 1584 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 1 @ExceptionHandler, 1 ResponseBodyAdvice -2025-04-01T23:19:03.832+09:00 INFO 1584 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' -2025-04-01T23:19:03.847+09:00 INFO 1584 --- [main] sw_workbook.spring.Application : Started Application in 9.53 seconds (process running for 10.576) +2025-04-28T02:01:23.016+09:00 INFO 11948 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 11948 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T02:01:23.024+09:00 DEBUG 11948 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T02:01:23.025+09:00 INFO 11948 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T02:01:23.712+09:00 INFO 11948 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T02:01:23.781+09:00 INFO 11948 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 61 ms. Found 3 JPA repository interfaces. +2025-04-28T02:01:24.210+09:00 INFO 11948 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T02:01:24.221+09:00 INFO 11948 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T02:01:24.221+09:00 INFO 11948 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T02:01:24.268+09:00 INFO 11948 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T02:01:24.269+09:00 INFO 11948 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1200 ms +2025-04-28T02:01:24.394+09:00 INFO 11948 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T02:01:24.456+09:00 INFO 11948 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T02:01:24.492+09:00 INFO 11948 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T02:01:24.760+09:00 INFO 11948 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T02:01:24.790+09:00 INFO 11948 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T02:01:25.099+09:00 INFO 11948 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@47ffdbba +2025-04-28T02:01:25.101+09:00 INFO 11948 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T02:01:25.150+09:00 WARN 11948 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T02:01:25.168+09:00 INFO 11948 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T02:01:26.196+09:00 INFO 11948 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T02:01:26.299+09:00 INFO 11948 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T02:01:26.327+09:00 DEBUG 11948 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T02:01:26.581+09:00 INFO 11948 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T02:01:27.021+09:00 WARN 11948 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T02:01:27.036+09:00 INFO 11948 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T02:01:27.147+09:00 DEBUG 11948 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T02:01:27.205+09:00 DEBUG 11948 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T02:01:27.222+09:00 WARN 11948 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T02:01:27.323+09:00 DEBUG 11948 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T02:01:27.387+09:00 DEBUG 11948 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T02:01:27.470+09:00 INFO 11948 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T02:01:27.476+09:00 INFO 11948 --- [main] sw_workbook.spring.Application : Started Application in 4.908 seconds (process running for 5.513) +2025-04-28T02:03:15.020+09:00 INFO 11948 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T02:03:15.020+09:00 INFO 11948 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T02:03:15.020+09:00 DEBUG 11948 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T02:03:15.020+09:00 DEBUG 11948 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T02:03:15.020+09:00 DEBUG 11948 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T02:03:15.021+09:00 DEBUG 11948 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@6492428e +2025-04-28T02:03:15.021+09:00 DEBUG 11948 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@25a22e9f +2025-04-28T02:03:15.021+09:00 DEBUG 11948 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T02:03:15.022+09:00 INFO 11948 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2025-04-28T02:03:15.042+09:00 DEBUG 11948 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T02:03:15.044+09:00 DEBUG 11948 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T02:03:15.061+09:00 DEBUG 11948 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T02:03:15.193+09:00 DEBUG 11948 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T02:03:32.081+09:00 DEBUG 11948 --- [http-nio-8080-exec-4] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T02:03:32.082+09:00 DEBUG 11948 --- [http-nio-8080-exec-4] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T02:03:32.083+09:00 DEBUG 11948 --- [http-nio-8080-exec-4] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T02:03:32.084+09:00 DEBUG 11948 --- [http-nio-8080-exec-4] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T02:04:01.205+09:00 DEBUG 11948 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : HTTP POST https://kauth.kakao.com/oauth/token +2025-04-28T02:04:01.211+09:00 DEBUG 11948 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T02:04:01.212+09:00 DEBUG 11948 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[01LlzShb4ptIq7t-b_ohnutOdVX9g0t_PByJ842XAjj9-mNT8ZMk-gAAAAQKDRuaAAABlng0sFro6jj-qNQmaA], redirect_uri=[http://localhost:8080/login/oauth2/code/kakao], client_id=[5eea303692395e4d36e5eff8b6133ea6], client_secret=[LxA67TvEovut6iCUEeOpl6Ti1OJaG4iI]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T02:04:01.353+09:00 DEBUG 11948 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T02:04:01.354+09:00 DEBUG 11948 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=UTF-8" +2025-04-28T02:04:01.388+09:00 DEBUG 11948 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : HTTP GET https://kapi.kakao.com/v2/user/me +2025-04-28T02:04:01.389+09:00 DEBUG 11948 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T02:04:01.501+09:00 DEBUG 11948 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T02:04:01.502+09:00 DEBUG 11948 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T02:04:01.718+09:00 ERROR 11948 --- [http-nio-8080-exec-7] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception + +java.lang.IllegalArgumentException: Attribute value for 'email' cannot be null + at org.springframework.util.Assert.notNull(Assert.java:181) ~[spring-core-6.2.3.jar:6.2.3] + at org.springframework.security.oauth2.core.user.DefaultOAuth2User.(DefaultOAuth2User.java:72) ~[spring-security-oauth2-core-6.4.3.jar:6.4.3] + at sw_workbook.spring.config.oauth.CustomOAuth2UserService.loadUser(CustomOAuth2UserService.java:79) ~[main/:na] + at org.springframework.security.oauth2.client.authentication.OAuth2LoginAuthenticationProvider.authenticate(OAuth2LoginAuthenticationProvider.java:119) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:182) ~[spring-security-core-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter.attemptAuthentication(OAuth2LoginAuthenticationFilter.java:196) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:231) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:198) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238) ~[spring-security-config-6.4.3.jar:6.4.3] + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na] + +2025-04-28T02:29:16.990+09:00 INFO 11948 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T02:29:17.163+09:00 INFO 11948 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T02:29:17.167+09:00 INFO 11948 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T02:29:17.169+09:00 INFO 11948 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T02:29:17.174+09:00 INFO 11948 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T02:29:21.113+09:00 INFO 6240 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 6240 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T02:29:21.115+09:00 DEBUG 6240 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T02:29:21.116+09:00 INFO 6240 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T02:29:21.827+09:00 INFO 6240 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T02:29:21.906+09:00 INFO 6240 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 70 ms. Found 3 JPA repository interfaces. +2025-04-28T02:29:22.300+09:00 INFO 6240 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T02:29:22.310+09:00 INFO 6240 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T02:29:22.310+09:00 INFO 6240 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T02:29:22.353+09:00 INFO 6240 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T02:29:22.353+09:00 INFO 6240 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1196 ms +2025-04-28T02:29:22.469+09:00 INFO 6240 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T02:29:22.513+09:00 INFO 6240 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T02:29:22.542+09:00 INFO 6240 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T02:29:22.810+09:00 INFO 6240 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T02:29:22.841+09:00 INFO 6240 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T02:29:23.060+09:00 INFO 6240 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@5a2f401a +2025-04-28T02:29:23.061+09:00 INFO 6240 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T02:29:23.106+09:00 WARN 6240 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T02:29:23.124+09:00 INFO 6240 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T02:29:24.080+09:00 INFO 6240 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T02:29:24.165+09:00 INFO 6240 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T02:29:24.193+09:00 DEBUG 6240 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T02:29:24.441+09:00 INFO 6240 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T02:29:24.860+09:00 WARN 6240 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T02:29:24.877+09:00 INFO 6240 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T02:29:24.988+09:00 DEBUG 6240 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T02:29:25.064+09:00 DEBUG 6240 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T02:29:25.092+09:00 WARN 6240 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T02:29:25.231+09:00 DEBUG 6240 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T02:29:25.306+09:00 DEBUG 6240 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T02:29:25.403+09:00 INFO 6240 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T02:29:25.411+09:00 INFO 6240 --- [main] sw_workbook.spring.Application : Started Application in 4.71 seconds (process running for 5.174) +2025-04-28T02:29:27.000+09:00 INFO 6240 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T02:29:27.001+09:00 INFO 6240 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T02:29:27.001+09:00 DEBUG 6240 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T02:29:27.001+09:00 DEBUG 6240 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T02:29:27.001+09:00 DEBUG 6240 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T02:29:27.002+09:00 DEBUG 6240 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@5aee12c7 +2025-04-28T02:29:27.002+09:00 DEBUG 6240 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@7acf609d +2025-04-28T02:29:27.002+09:00 DEBUG 6240 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T02:29:27.002+09:00 INFO 6240 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2025-04-28T02:29:27.056+09:00 DEBUG 6240 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : GET "/login?error", parameters={masked} +2025-04-28T02:29:27.058+09:00 DEBUG 6240 --- [http-nio-8080-exec-3] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T02:29:27.076+09:00 DEBUG 6240 --- [http-nio-8080-exec-3] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T02:29:27.196+09:00 DEBUG 6240 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T02:29:29.152+09:00 DEBUG 6240 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : HTTP POST https://kauth.kakao.com/oauth/token +2025-04-28T02:29:29.158+09:00 DEBUG 6240 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T02:29:29.159+09:00 DEBUG 6240 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[zPtjCJP9m-GU-67flq_TuA0kYdSaL6vYwzMQ-iaZw2Ou3g-KSR0vQgAAAAQKDR_RAAABlnhMAMhONYg--5I0Sw], redirect_uri=[http://localhost:8080/login/oauth2/code/kakao], client_id=[5eea303692395e4d36e5eff8b6133ea6], client_secret=[LxA67TvEovut6iCUEeOpl6Ti1OJaG4iI]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T02:29:29.316+09:00 DEBUG 6240 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T02:29:29.317+09:00 DEBUG 6240 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=UTF-8" +2025-04-28T02:29:29.351+09:00 DEBUG 6240 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : HTTP GET https://kapi.kakao.com/v2/user/me +2025-04-28T02:29:29.352+09:00 DEBUG 6240 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T02:29:29.425+09:00 DEBUG 6240 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T02:29:29.426+09:00 DEBUG 6240 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T02:29:29.634+09:00 ERROR 6240 --- [http-nio-8080-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception + +java.lang.IllegalArgumentException: Attribute value for 'email' cannot be null + at org.springframework.util.Assert.notNull(Assert.java:181) ~[spring-core-6.2.3.jar:6.2.3] + at org.springframework.security.oauth2.core.user.DefaultOAuth2User.(DefaultOAuth2User.java:72) ~[spring-security-oauth2-core-6.4.3.jar:6.4.3] + at sw_workbook.spring.config.oauth.CustomOAuth2UserService.loadUser(CustomOAuth2UserService.java:79) ~[main/:na] + at org.springframework.security.oauth2.client.authentication.OAuth2LoginAuthenticationProvider.authenticate(OAuth2LoginAuthenticationProvider.java:119) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:182) ~[spring-security-core-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter.attemptAuthentication(OAuth2LoginAuthenticationFilter.java:196) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:231) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:198) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238) ~[spring-security-config-6.4.3.jar:6.4.3] + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na] + +2025-04-28T13:28:39.241+09:00 WARN 6240 --- [HikariPool-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=10h50m15s912ms845µs800ns). +2025-04-28T13:29:38.403+09:00 WARN 6240 --- [HikariPool-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=1m3s825ms918µs200ns). +2025-04-28T13:38:15.316+09:00 INFO 6240 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T13:38:15.458+09:00 INFO 6240 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T13:38:15.462+09:00 INFO 6240 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T13:38:15.464+09:00 INFO 6240 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T13:38:15.469+09:00 INFO 6240 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T13:38:25.563+09:00 INFO 18760 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 18760 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T13:38:25.565+09:00 DEBUG 18760 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T13:38:25.566+09:00 INFO 18760 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T13:38:26.405+09:00 INFO 18760 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T13:38:26.483+09:00 INFO 18760 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 70 ms. Found 3 JPA repository interfaces. +2025-04-28T13:38:26.932+09:00 INFO 18760 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T13:38:26.944+09:00 INFO 18760 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T13:38:26.944+09:00 INFO 18760 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T13:38:26.994+09:00 INFO 18760 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T13:38:26.995+09:00 INFO 18760 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1390 ms +2025-04-28T13:38:27.127+09:00 INFO 18760 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T13:38:27.191+09:00 INFO 18760 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T13:38:27.225+09:00 INFO 18760 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T13:38:27.576+09:00 INFO 18760 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T13:38:27.618+09:00 INFO 18760 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T13:38:27.968+09:00 INFO 18760 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@3c87e851 +2025-04-28T13:38:27.971+09:00 INFO 18760 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T13:38:28.024+09:00 WARN 18760 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T13:38:28.045+09:00 INFO 18760 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T13:38:29.164+09:00 INFO 18760 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T13:38:29.245+09:00 INFO 18760 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T13:38:29.274+09:00 DEBUG 18760 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T13:38:29.549+09:00 INFO 18760 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T13:38:30.018+09:00 WARN 18760 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T13:38:30.039+09:00 INFO 18760 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T13:38:30.156+09:00 DEBUG 18760 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T13:38:30.220+09:00 DEBUG 18760 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T13:38:30.238+09:00 WARN 18760 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T13:38:30.344+09:00 DEBUG 18760 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T13:38:30.409+09:00 DEBUG 18760 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T13:38:30.526+09:00 INFO 18760 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T13:38:30.533+09:00 INFO 18760 --- [main] sw_workbook.spring.Application : Started Application in 5.362 seconds (process running for 5.84) +2025-04-28T13:38:41.938+09:00 INFO 18760 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T13:38:41.938+09:00 INFO 18760 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T13:38:41.939+09:00 DEBUG 18760 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T13:38:41.939+09:00 DEBUG 18760 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T13:38:41.939+09:00 DEBUG 18760 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T13:38:41.939+09:00 DEBUG 18760 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@36bc1a23 +2025-04-28T13:38:41.940+09:00 DEBUG 18760 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@589c37ef +2025-04-28T13:38:41.940+09:00 DEBUG 18760 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T13:38:41.940+09:00 INFO 18760 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2025-04-28T13:38:41.959+09:00 DEBUG 18760 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T13:38:41.961+09:00 DEBUG 18760 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T13:38:41.976+09:00 DEBUG 18760 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T13:38:42.096+09:00 DEBUG 18760 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T13:45:32.163+09:00 DEBUG 18760 --- [http-nio-8080-exec-10] o.s.web.client.RestTemplate : HTTP POST https://kauth.kakao.com/oauth/token +2025-04-28T13:45:32.169+09:00 DEBUG 18760 --- [http-nio-8080-exec-10] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T13:45:32.170+09:00 DEBUG 18760 --- [http-nio-8080-exec-10] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[Iei39KyhZqUL5jOKtQKaR1ItWk1m4C0DHLwn6jyMZdOF6g_o0cG2-wAAAAQKDR-XAAABlnq27zF-jFVpBnvzXw], redirect_uri=[http://localhost:8080/login/oauth2/code/kakao], client_id=[5eea303692395e4d36e5eff8b6133ea6], client_secret=[LxA67TvEovut6iCUEeOpl6Ti1OJaG4iI]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T13:45:34.321+09:00 DEBUG 18760 --- [http-nio-8080-exec-10] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T13:45:34.323+09:00 DEBUG 18760 --- [http-nio-8080-exec-10] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=UTF-8" +2025-04-28T13:45:34.356+09:00 DEBUG 18760 --- [http-nio-8080-exec-10] o.s.web.client.RestTemplate : HTTP GET https://kapi.kakao.com/v2/user/me +2025-04-28T13:45:34.357+09:00 DEBUG 18760 --- [http-nio-8080-exec-10] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T13:45:34.423+09:00 DEBUG 18760 --- [http-nio-8080-exec-10] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T13:45:34.424+09:00 DEBUG 18760 --- [http-nio-8080-exec-10] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T13:45:34.690+09:00 ERROR 18760 --- [http-nio-8080-exec-10] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception + +java.lang.IllegalArgumentException: Attribute value for 'email' cannot be null + at org.springframework.util.Assert.notNull(Assert.java:181) ~[spring-core-6.2.3.jar:6.2.3] + at org.springframework.security.oauth2.core.user.DefaultOAuth2User.(DefaultOAuth2User.java:72) ~[spring-security-oauth2-core-6.4.3.jar:6.4.3] + at sw_workbook.spring.config.oauth.CustomOAuth2UserService.loadUser(CustomOAuth2UserService.java:79) ~[main/:na] + at org.springframework.security.oauth2.client.authentication.OAuth2LoginAuthenticationProvider.authenticate(OAuth2LoginAuthenticationProvider.java:119) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:182) ~[spring-security-core-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter.attemptAuthentication(OAuth2LoginAuthenticationFilter.java:196) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:231) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:198) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238) ~[spring-security-config-6.4.3.jar:6.4.3] + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na] + +2025-04-28T14:04:50.042+09:00 INFO 18760 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T14:04:50.191+09:00 INFO 18760 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T14:04:50.194+09:00 INFO 18760 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T14:04:50.195+09:00 INFO 18760 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T14:04:50.200+09:00 INFO 18760 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T14:04:55.648+09:00 INFO 21552 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 21552 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T14:04:55.650+09:00 DEBUG 21552 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T14:04:55.651+09:00 INFO 21552 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T14:04:56.235+09:00 INFO 21552 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T14:04:56.296+09:00 INFO 21552 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 55 ms. Found 3 JPA repository interfaces. +2025-04-28T14:04:56.702+09:00 INFO 21552 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T14:04:56.712+09:00 INFO 21552 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T14:04:56.712+09:00 INFO 21552 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T14:04:56.761+09:00 INFO 21552 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T14:04:56.762+09:00 INFO 21552 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1079 ms +2025-04-28T14:04:56.885+09:00 INFO 21552 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T14:04:56.938+09:00 INFO 21552 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T14:04:56.971+09:00 INFO 21552 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T14:04:57.226+09:00 INFO 21552 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T14:04:57.256+09:00 INFO 21552 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T14:04:57.505+09:00 INFO 21552 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@2d593b56 +2025-04-28T14:04:57.506+09:00 INFO 21552 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T14:04:57.552+09:00 WARN 21552 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T14:04:57.572+09:00 INFO 21552 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T14:04:58.619+09:00 INFO 21552 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T14:04:58.738+09:00 INFO 21552 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T14:04:58.767+09:00 DEBUG 21552 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T14:04:59.034+09:00 INFO 21552 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T14:04:59.450+09:00 WARN 21552 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T14:04:59.477+09:00 INFO 21552 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T14:04:59.575+09:00 DEBUG 21552 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T14:04:59.649+09:00 DEBUG 21552 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T14:04:59.665+09:00 WARN 21552 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T14:04:59.764+09:00 DEBUG 21552 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T14:04:59.823+09:00 DEBUG 21552 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T14:04:59.913+09:00 INFO 21552 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T14:04:59.922+09:00 INFO 21552 --- [main] sw_workbook.spring.Application : Started Application in 4.67 seconds (process running for 5.109) +2025-04-28T14:08:32.056+09:00 INFO 21552 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T14:08:32.057+09:00 INFO 21552 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T14:08:32.057+09:00 DEBUG 21552 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T14:08:32.057+09:00 DEBUG 21552 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T14:08:32.057+09:00 DEBUG 21552 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T14:08:32.058+09:00 DEBUG 21552 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@6d0e2a12 +2025-04-28T14:08:32.058+09:00 DEBUG 21552 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@1eeb3ae6 +2025-04-28T14:08:32.058+09:00 DEBUG 21552 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T14:08:32.058+09:00 INFO 21552 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2025-04-28T14:08:32.081+09:00 DEBUG 21552 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T14:08:32.083+09:00 DEBUG 21552 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T14:08:32.120+09:00 DEBUG 21552 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:08:32.360+09:00 DEBUG 21552 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:08:35.979+09:00 DEBUG 21552 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : HTTP POST https://kauth.kakao.com/oauth/token +2025-04-28T14:08:35.986+09:00 DEBUG 21552 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T14:08:35.986+09:00 DEBUG 21552 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[JP7Aq4LWSfMsxLhjPByvIKFnuhofEw7kS_gzPdVU84uAwuZvIm4LogAAAAQKDRlTAAABlnrMCzCoblpFv_zasg], redirect_uri=[http://localhost:8080/login/oauth2/code/kakao], client_id=[5eea303692395e4d36e5eff8b6133ea6], client_secret=[LxA67TvEovut6iCUEeOpl6Ti1OJaG4iI]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T14:08:40.269+09:00 DEBUG 21552 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T14:08:40.271+09:00 DEBUG 21552 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=UTF-8" +2025-04-28T14:08:40.314+09:00 DEBUG 21552 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : HTTP GET https://kapi.kakao.com/v2/user/me +2025-04-28T14:08:40.315+09:00 DEBUG 21552 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T14:08:40.367+09:00 DEBUG 21552 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T14:08:40.368+09:00 DEBUG 21552 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T14:08:40.657+09:00 INFO 21552 --- [http-nio-8080-exec-4] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T14:08:40.742+09:00 INFO 21552 --- [http-nio-8080-exec-4] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T14:08:40.748+09:00 DEBUG 21552 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T14:08:40.748+09:00 DEBUG 21552 --- [http-nio-8080-exec-5] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home() +2025-04-28T14:08:40.752+09:00 DEBUG 21552 --- [http-nio-8080-exec-5] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:08:40.909+09:00 DEBUG 21552 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:09:18.509+09:00 INFO 21552 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T14:09:18.700+09:00 INFO 21552 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T14:09:18.704+09:00 INFO 21552 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T14:09:18.705+09:00 INFO 21552 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T14:09:18.709+09:00 INFO 21552 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T14:09:22.374+09:00 INFO 25676 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 25676 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T14:09:22.376+09:00 DEBUG 25676 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T14:09:22.376+09:00 INFO 25676 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T14:09:23.020+09:00 INFO 25676 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T14:09:23.095+09:00 INFO 25676 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 67 ms. Found 3 JPA repository interfaces. +2025-04-28T14:09:23.489+09:00 INFO 25676 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T14:09:23.499+09:00 INFO 25676 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T14:09:23.499+09:00 INFO 25676 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T14:09:23.544+09:00 INFO 25676 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T14:09:23.544+09:00 INFO 25676 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1136 ms +2025-04-28T14:09:23.658+09:00 INFO 25676 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T14:09:23.698+09:00 INFO 25676 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T14:09:23.725+09:00 INFO 25676 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T14:09:23.957+09:00 INFO 25676 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T14:09:23.982+09:00 INFO 25676 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T14:09:24.204+09:00 INFO 25676 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@2d593b56 +2025-04-28T14:09:24.205+09:00 INFO 25676 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T14:09:24.247+09:00 WARN 25676 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T14:09:24.262+09:00 INFO 25676 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T14:09:25.237+09:00 INFO 25676 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T14:09:25.366+09:00 INFO 25676 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T14:09:25.395+09:00 DEBUG 25676 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T14:09:25.631+09:00 INFO 25676 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T14:09:26.041+09:00 WARN 25676 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T14:09:26.059+09:00 INFO 25676 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T14:09:26.163+09:00 DEBUG 25676 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T14:09:26.223+09:00 DEBUG 25676 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T14:09:26.239+09:00 WARN 25676 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T14:09:26.336+09:00 DEBUG 25676 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T14:09:26.393+09:00 DEBUG 25676 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T14:09:26.474+09:00 INFO 25676 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T14:09:26.480+09:00 INFO 25676 --- [main] sw_workbook.spring.Application : Started Application in 4.511 seconds (process running for 5.014) +2025-04-28T14:09:27.603+09:00 INFO 25676 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T14:09:27.604+09:00 INFO 25676 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T14:09:27.604+09:00 DEBUG 25676 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T14:09:27.604+09:00 DEBUG 25676 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T14:09:27.604+09:00 DEBUG 25676 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T14:09:27.605+09:00 DEBUG 25676 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@6d0e2a12 +2025-04-28T14:09:27.605+09:00 DEBUG 25676 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@1eeb3ae6 +2025-04-28T14:09:27.605+09:00 DEBUG 25676 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T14:09:27.605+09:00 INFO 25676 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2025-04-28T14:09:27.624+09:00 DEBUG 25676 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T14:09:27.626+09:00 DEBUG 25676 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T14:09:27.641+09:00 DEBUG 25676 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:09:27.758+09:00 DEBUG 25676 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:09:29.084+09:00 DEBUG 25676 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : HTTP POST https://kauth.kakao.com/oauth/token +2025-04-28T14:09:29.090+09:00 DEBUG 25676 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T14:09:29.091+09:00 DEBUG 25676 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[VyNOioPLBaxvV9AAWJ6ZFU_MtrNwLOTJxvdiNFF4RbDAksT0w_ixGQAAAAQKDRSjAAABlnrM3KNHueF-5ScOZw], redirect_uri=[http://localhost:8080/login/oauth2/code/kakao], client_id=[5eea303692395e4d36e5eff8b6133ea6], client_secret=[LxA67TvEovut6iCUEeOpl6Ti1OJaG4iI]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T14:09:29.221+09:00 DEBUG 25676 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T14:09:29.222+09:00 DEBUG 25676 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=UTF-8" +2025-04-28T14:09:29.254+09:00 DEBUG 25676 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : HTTP GET https://kapi.kakao.com/v2/user/me +2025-04-28T14:09:29.255+09:00 DEBUG 25676 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T14:09:29.311+09:00 DEBUG 25676 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T14:09:29.312+09:00 DEBUG 25676 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T14:09:29.522+09:00 INFO 25676 --- [http-nio-8080-exec-7] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T14:09:29.584+09:00 INFO 25676 --- [http-nio-8080-exec-7] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T14:09:29.588+09:00 DEBUG 25676 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T14:09:29.588+09:00 DEBUG 25676 --- [http-nio-8080-exec-5] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home() +2025-04-28T14:09:29.590+09:00 DEBUG 25676 --- [http-nio-8080-exec-5] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:09:29.683+09:00 DEBUG 25676 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:32:53.451+09:00 INFO 25676 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T14:32:53.635+09:00 INFO 25676 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T14:32:53.651+09:00 INFO 25676 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T14:32:53.652+09:00 INFO 25676 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T14:32:53.657+09:00 INFO 25676 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T14:33:00.618+09:00 INFO 17252 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 17252 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T14:33:00.620+09:00 DEBUG 17252 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T14:33:00.621+09:00 INFO 17252 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T14:33:01.232+09:00 INFO 17252 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T14:33:01.304+09:00 INFO 17252 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 65 ms. Found 3 JPA repository interfaces. +2025-04-28T14:33:01.693+09:00 INFO 17252 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T14:33:01.703+09:00 INFO 17252 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T14:33:01.703+09:00 INFO 17252 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T14:33:01.747+09:00 INFO 17252 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T14:33:01.747+09:00 INFO 17252 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1095 ms +2025-04-28T14:33:01.861+09:00 INFO 17252 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T14:33:01.904+09:00 INFO 17252 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T14:33:01.932+09:00 INFO 17252 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T14:33:02.151+09:00 INFO 17252 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T14:33:02.174+09:00 INFO 17252 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T14:33:02.398+09:00 INFO 17252 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@380e33c2 +2025-04-28T14:33:02.400+09:00 INFO 17252 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T14:33:02.444+09:00 WARN 17252 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T14:33:02.459+09:00 INFO 17252 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T14:33:03.500+09:00 INFO 17252 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T14:33:03.584+09:00 INFO 17252 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T14:33:03.612+09:00 DEBUG 17252 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T14:33:03.889+09:00 INFO 17252 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T14:33:04.288+09:00 WARN 17252 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T14:33:04.303+09:00 INFO 17252 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T14:33:04.396+09:00 DEBUG 17252 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T14:33:04.471+09:00 DEBUG 17252 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T14:33:04.486+09:00 WARN 17252 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T14:33:04.581+09:00 DEBUG 17252 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T14:33:04.634+09:00 DEBUG 17252 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T14:33:04.729+09:00 INFO 17252 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T14:33:04.736+09:00 INFO 17252 --- [main] sw_workbook.spring.Application : Started Application in 4.481 seconds (process running for 4.976) +2025-04-28T14:33:06.324+09:00 INFO 17252 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T14:33:06.324+09:00 INFO 17252 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T14:33:06.324+09:00 DEBUG 17252 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T14:33:06.324+09:00 DEBUG 17252 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T14:33:06.324+09:00 DEBUG 17252 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T14:33:06.325+09:00 DEBUG 17252 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@48505ccd +2025-04-28T14:33:06.326+09:00 DEBUG 17252 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@21a1b47c +2025-04-28T14:33:06.326+09:00 DEBUG 17252 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T14:33:06.326+09:00 INFO 17252 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms +2025-04-28T14:33:06.345+09:00 DEBUG 17252 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T14:33:06.347+09:00 DEBUG 17252 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T14:33:06.361+09:00 DEBUG 17252 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:33:06.485+09:00 DEBUG 17252 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:34:12.897+09:00 INFO 17252 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T14:34:13.093+09:00 INFO 17252 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T14:34:13.097+09:00 INFO 17252 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T14:34:13.098+09:00 INFO 17252 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T14:34:13.106+09:00 INFO 17252 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T14:34:15.653+09:00 INFO 26636 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 26636 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T14:34:15.655+09:00 DEBUG 26636 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T14:34:15.656+09:00 INFO 26636 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T14:34:16.278+09:00 INFO 26636 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T14:34:16.361+09:00 INFO 26636 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 77 ms. Found 3 JPA repository interfaces. +2025-04-28T14:34:16.822+09:00 INFO 26636 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T14:34:16.833+09:00 INFO 26636 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T14:34:16.833+09:00 INFO 26636 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T14:34:16.882+09:00 INFO 26636 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T14:34:16.882+09:00 INFO 26636 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1190 ms +2025-04-28T14:34:17.009+09:00 INFO 26636 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T14:34:17.053+09:00 INFO 26636 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T14:34:17.081+09:00 INFO 26636 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T14:34:17.331+09:00 INFO 26636 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T14:34:17.363+09:00 INFO 26636 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T14:34:17.602+09:00 INFO 26636 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@1450ffa3 +2025-04-28T14:34:17.604+09:00 INFO 26636 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T14:34:17.683+09:00 WARN 26636 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T14:34:17.698+09:00 INFO 26636 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T14:34:18.652+09:00 INFO 26636 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T14:34:18.737+09:00 INFO 26636 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T14:34:18.763+09:00 DEBUG 26636 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T14:34:18.989+09:00 INFO 26636 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T14:34:19.366+09:00 WARN 26636 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T14:34:19.381+09:00 INFO 26636 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T14:34:19.471+09:00 DEBUG 26636 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T14:34:19.560+09:00 DEBUG 26636 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T14:34:19.575+09:00 WARN 26636 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T14:34:19.681+09:00 DEBUG 26636 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T14:34:19.732+09:00 DEBUG 26636 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T14:34:19.816+09:00 INFO 26636 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T14:34:19.822+09:00 INFO 26636 --- [main] sw_workbook.spring.Application : Started Application in 4.573 seconds (process running for 5.073) +2025-04-28T14:34:25.568+09:00 INFO 26636 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T14:34:25.569+09:00 INFO 26636 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T14:34:25.569+09:00 DEBUG 26636 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T14:34:25.569+09:00 DEBUG 26636 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T14:34:25.569+09:00 DEBUG 26636 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T14:34:25.570+09:00 DEBUG 26636 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@7d8f7059 +2025-04-28T14:34:25.570+09:00 DEBUG 26636 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@e8d54fb +2025-04-28T14:34:25.570+09:00 DEBUG 26636 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T14:34:25.570+09:00 INFO 26636 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2025-04-28T14:34:25.589+09:00 DEBUG 26636 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T14:34:25.590+09:00 DEBUG 26636 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T14:34:25.606+09:00 DEBUG 26636 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:34:25.728+09:00 DEBUG 26636 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:34:43.885+09:00 DEBUG 26636 --- [http-nio-8080-exec-4] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T14:34:43.885+09:00 DEBUG 26636 --- [http-nio-8080-exec-4] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home() +2025-04-28T14:34:43.887+09:00 DEBUG 26636 --- [http-nio-8080-exec-4] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:34:43.990+09:00 DEBUG 26636 --- [http-nio-8080-exec-4] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:34:56.242+09:00 DEBUG 26636 --- [http-nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T14:34:56.242+09:00 DEBUG 26636 --- [http-nio-8080-exec-7] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T14:34:56.243+09:00 DEBUG 26636 --- [http-nio-8080-exec-7] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:34:56.244+09:00 DEBUG 26636 --- [http-nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:35:15.906+09:00 DEBUG 26636 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T14:35:15.907+09:00 DEBUG 26636 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T14:35:15.908+09:00 DEBUG 26636 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:35:15.909+09:00 DEBUG 26636 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:35:41.517+09:00 INFO 26636 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T14:35:41.690+09:00 INFO 26636 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T14:35:41.694+09:00 INFO 26636 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T14:35:41.695+09:00 INFO 26636 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T14:35:41.700+09:00 INFO 26636 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T14:35:45.162+09:00 INFO 976 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 976 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T14:35:45.164+09:00 DEBUG 976 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T14:35:45.164+09:00 INFO 976 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T14:35:45.829+09:00 INFO 976 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T14:35:45.919+09:00 INFO 976 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 81 ms. Found 3 JPA repository interfaces. +2025-04-28T14:35:46.307+09:00 INFO 976 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T14:35:46.317+09:00 INFO 976 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T14:35:46.317+09:00 INFO 976 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T14:35:46.365+09:00 INFO 976 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T14:35:46.365+09:00 INFO 976 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1165 ms +2025-04-28T14:35:46.490+09:00 INFO 976 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T14:35:46.531+09:00 INFO 976 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T14:35:46.560+09:00 INFO 976 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T14:35:46.788+09:00 INFO 976 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T14:35:46.812+09:00 INFO 976 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T14:35:47.052+09:00 INFO 976 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@6bdedbbd +2025-04-28T14:35:47.054+09:00 INFO 976 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T14:35:47.099+09:00 WARN 976 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T14:35:47.116+09:00 INFO 976 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T14:35:48.148+09:00 INFO 976 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T14:35:48.229+09:00 INFO 976 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T14:35:48.254+09:00 DEBUG 976 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T14:35:48.468+09:00 INFO 976 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T14:35:48.852+09:00 WARN 976 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T14:35:48.867+09:00 INFO 976 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T14:35:48.977+09:00 DEBUG 976 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T14:35:49.039+09:00 DEBUG 976 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T14:35:49.055+09:00 WARN 976 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T14:35:49.160+09:00 DEBUG 976 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T14:35:49.217+09:00 DEBUG 976 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T14:35:49.312+09:00 INFO 976 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T14:35:49.319+09:00 INFO 976 --- [main] sw_workbook.spring.Application : Started Application in 4.594 seconds (process running for 5.069) +2025-04-28T14:35:49.483+09:00 INFO 976 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T14:35:49.484+09:00 INFO 976 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T14:35:49.484+09:00 DEBUG 976 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T14:35:49.484+09:00 DEBUG 976 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T14:35:49.484+09:00 DEBUG 976 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T14:35:49.485+09:00 DEBUG 976 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@589c37ef +2025-04-28T14:35:49.486+09:00 DEBUG 976 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@442e3600 +2025-04-28T14:35:49.486+09:00 DEBUG 976 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T14:35:49.486+09:00 INFO 976 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms +2025-04-28T14:35:49.508+09:00 DEBUG 976 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T14:35:49.509+09:00 DEBUG 976 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T14:35:49.526+09:00 DEBUG 976 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:35:49.730+09:00 DEBUG 976 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:35:51.836+09:00 DEBUG 976 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : HTTP POST https://kauth.kakao.com/oauth/token +2025-04-28T14:35:51.842+09:00 DEBUG 976 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T14:35:51.843+09:00 DEBUG 976 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[i0JTa63SCMV6NWKxZs3fAfWsT_A1z4HkfcxKyL5CeJzEvaQHzZlyMAAAAAQKDR_RAAABlnrlA2Po6jj-qNQmaA], redirect_uri=[http://localhost:8080/login/oauth2/code/kakao], client_id=[5eea303692395e4d36e5eff8b6133ea6], client_secret=[LxA67TvEovut6iCUEeOpl6Ti1OJaG4iI]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T14:35:51.961+09:00 DEBUG 976 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T14:35:51.963+09:00 DEBUG 976 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=UTF-8" +2025-04-28T14:35:51.995+09:00 DEBUG 976 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : HTTP GET https://kapi.kakao.com/v2/user/me +2025-04-28T14:35:51.996+09:00 DEBUG 976 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T14:35:52.063+09:00 DEBUG 976 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T14:35:52.064+09:00 DEBUG 976 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T14:35:52.277+09:00 INFO 976 --- [http-nio-8080-exec-4] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T14:35:52.339+09:00 INFO 976 --- [http-nio-8080-exec-4] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T14:35:52.344+09:00 DEBUG 976 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T14:35:52.344+09:00 DEBUG 976 --- [http-nio-8080-exec-5] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home() +2025-04-28T14:35:52.345+09:00 DEBUG 976 --- [http-nio-8080-exec-5] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:35:52.373+09:00 DEBUG 976 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:35:53.542+09:00 DEBUG 976 --- [http-nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T14:35:53.542+09:00 DEBUG 976 --- [http-nio-8080-exec-7] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T14:35:53.543+09:00 DEBUG 976 --- [http-nio-8080-exec-7] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:35:53.544+09:00 DEBUG 976 --- [http-nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:36:03.986+09:00 DEBUG 976 --- [http-nio-8080-exec-9] o.s.web.client.RestTemplate : HTTP POST https://oauth2.googleapis.com/token +2025-04-28T14:36:03.986+09:00 DEBUG 976 --- [http-nio-8080-exec-9] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T14:36:03.986+09:00 DEBUG 976 --- [http-nio-8080-exec-9] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[4/0Ab_5qlkipbhLbJ_9uBNjApoQk4hpTaNucklvpxwCMDfeyGblGTLY-ElL2UIcIRL1mE9D3g], redirect_uri=[http://localhost:8080/login/oauth2/code/google]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T14:36:04.396+09:00 DEBUG 976 --- [http-nio-8080-exec-9] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T14:36:04.397+09:00 DEBUG 976 --- [http-nio-8080-exec-9] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=utf-8" +2025-04-28T14:36:04.397+09:00 DEBUG 976 --- [http-nio-8080-exec-9] o.s.web.client.RestTemplate : HTTP GET https://www.googleapis.com/oauth2/v3/userinfo +2025-04-28T14:36:04.398+09:00 DEBUG 976 --- [http-nio-8080-exec-9] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T14:36:04.848+09:00 DEBUG 976 --- [http-nio-8080-exec-9] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T14:36:04.849+09:00 DEBUG 976 --- [http-nio-8080-exec-9] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T14:36:04.927+09:00 INFO 976 --- [http-nio-8080-exec-9] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T14:36:04.937+09:00 INFO 976 --- [http-nio-8080-exec-9] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T14:36:04.941+09:00 DEBUG 976 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T14:36:04.941+09:00 DEBUG 976 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home() +2025-04-28T14:36:04.942+09:00 DEBUG 976 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:36:04.943+09:00 DEBUG 976 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:36:21.888+09:00 DEBUG 976 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T14:36:21.889+09:00 DEBUG 976 --- [http-nio-8080-exec-3] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T14:36:21.890+09:00 DEBUG 976 --- [http-nio-8080-exec-3] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:36:21.891+09:00 DEBUG 976 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:36:22.992+09:00 ERROR 976 --- [http-nio-8080-exec-5] OAuth2AuthorizationRequestRedirectFilter : Authorization Request failed: java.lang.IllegalArgumentException: Illegal character in scheme name at index 0: ?response_type=code&client_id=jcp7VcJNvj9p_6zPztTH&scope=name%20email%20profile_image%20gender%20age&state=agbA-JtShZL45gyl38bUbd97lPNth4UP9A5FHz7jrtc%3D&redirect_uri=http://3.35.234.150:8080/login/oauth2/code/naver + +org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter$OAuth2AuthorizationRequestException: Illegal character in scheme name at index 0: ?response_type=code&client_id=jcp7VcJNvj9p_6zPztTH&scope=name%20email%20profile_image%20gender%20age&state=agbA-JtShZL45gyl38bUbd97lPNth4UP9A5FHz7jrtc%3D&redirect_uri=http://3.35.234.150:8080/login/oauth2/code/naver + at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:193) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238) ~[spring-security-config-6.4.3.jar:6.4.3] + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na] +Caused by: java.lang.IllegalArgumentException: Illegal character in scheme name at index 0: ?response_type=code&client_id=jcp7VcJNvj9p_6zPztTH&scope=name%20email%20profile_image%20gender%20age&state=agbA-JtShZL45gyl38bUbd97lPNth4UP9A5FHz7jrtc%3D&redirect_uri=http://3.35.234.150:8080/login/oauth2/code/naver + at java.base/java.net.URI.create(URI.java:906) ~[na:na] + at org.springframework.web.util.DefaultUriBuilderFactory$DefaultUriBuilder.createUri(DefaultUriBuilderFactory.java:467) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.util.DefaultUriBuilderFactory$DefaultUriBuilder.build(DefaultUriBuilderFactory.java:460) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationRequest$Builder.lambda$new$1(OAuth2AuthorizationRequest.java:241) ~[spring-security-oauth2-core-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationRequest$Builder.buildAuthorizationRequestUri(OAuth2AuthorizationRequest.java:459) ~[spring-security-oauth2-core-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationRequest$Builder.build(OAuth2AuthorizationRequest.java:435) ~[spring-security-oauth2-core-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.DefaultOAuth2AuthorizationRequestResolver.resolve(DefaultOAuth2AuthorizationRequestResolver.java:168) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.DefaultOAuth2AuthorizationRequestResolver.resolve(DefaultOAuth2AuthorizationRequestResolver.java:111) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:186) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + ... 60 common frames omitted +Caused by: java.net.URISyntaxException: Illegal character in scheme name at index 0: ?response_type=code&client_id=jcp7VcJNvj9p_6zPztTH&scope=name%20email%20profile_image%20gender%20age&state=agbA-JtShZL45gyl38bUbd97lPNth4UP9A5FHz7jrtc%3D&redirect_uri=http://3.35.234.150:8080/login/oauth2/code/naver + at java.base/java.net.URI$Parser.fail(URI.java:2974) ~[na:na] + at java.base/java.net.URI$Parser.checkChars(URI.java:3145) ~[na:na] + at java.base/java.net.URI$Parser.checkChar(URI.java:3155) ~[na:na] + at java.base/java.net.URI$Parser.parse(URI.java:3170) ~[na:na] + at java.base/java.net.URI.(URI.java:623) ~[na:na] + at java.base/java.net.URI.create(URI.java:904) ~[na:na] + ... 68 common frames omitted + +2025-04-28T14:36:24.597+09:00 DEBUG 976 --- [http-nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T14:36:24.597+09:00 DEBUG 976 --- [http-nio-8080-exec-7] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T14:36:24.598+09:00 DEBUG 976 --- [http-nio-8080-exec-7] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:36:24.600+09:00 DEBUG 976 --- [http-nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:38:28.431+09:00 DEBUG 976 --- [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T14:38:28.431+09:00 DEBUG 976 --- [http-nio-8080-exec-2] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home() +2025-04-28T14:38:28.432+09:00 DEBUG 976 --- [http-nio-8080-exec-2] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:38:28.434+09:00 DEBUG 976 --- [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:52:00.560+09:00 INFO 976 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T14:52:01.062+09:00 INFO 976 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T14:52:01.109+09:00 INFO 976 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T14:52:01.113+09:00 INFO 976 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T14:52:01.134+09:00 INFO 976 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T14:52:05.684+09:00 INFO 10652 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 10652 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T14:52:05.688+09:00 DEBUG 10652 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T14:52:05.689+09:00 INFO 10652 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T14:52:06.424+09:00 INFO 10652 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T14:52:06.505+09:00 INFO 10652 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 73 ms. Found 3 JPA repository interfaces. +2025-04-28T14:52:06.934+09:00 INFO 10652 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T14:52:06.944+09:00 INFO 10652 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T14:52:06.944+09:00 INFO 10652 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T14:52:06.988+09:00 INFO 10652 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T14:52:06.989+09:00 INFO 10652 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1244 ms +2025-04-28T14:52:07.094+09:00 INFO 10652 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T14:52:07.134+09:00 INFO 10652 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T14:52:07.164+09:00 INFO 10652 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T14:52:07.387+09:00 INFO 10652 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T14:52:07.438+09:00 INFO 10652 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T14:52:07.665+09:00 INFO 10652 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@2b90cc1 +2025-04-28T14:52:07.666+09:00 INFO 10652 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T14:52:07.714+09:00 WARN 10652 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T14:52:07.732+09:00 INFO 10652 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T14:52:08.715+09:00 INFO 10652 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T14:52:08.819+09:00 INFO 10652 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T14:52:08.847+09:00 DEBUG 10652 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T14:52:09.098+09:00 INFO 10652 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T14:52:09.536+09:00 WARN 10652 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T14:52:09.552+09:00 INFO 10652 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T14:52:09.671+09:00 DEBUG 10652 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T14:52:09.731+09:00 DEBUG 10652 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T14:52:09.748+09:00 WARN 10652 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T14:52:09.854+09:00 DEBUG 10652 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T14:52:09.915+09:00 DEBUG 10652 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T14:52:10.019+09:00 INFO 10652 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T14:52:10.025+09:00 INFO 10652 --- [main] sw_workbook.spring.Application : Started Application in 5.125 seconds (process running for 6.132) +2025-04-28T14:52:12.956+09:00 INFO 10652 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T14:52:12.956+09:00 INFO 10652 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T14:52:12.956+09:00 DEBUG 10652 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T14:52:12.956+09:00 DEBUG 10652 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T14:52:12.956+09:00 DEBUG 10652 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T14:52:12.957+09:00 DEBUG 10652 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@6f45a719 +2025-04-28T14:52:12.957+09:00 DEBUG 10652 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@29a920fe +2025-04-28T14:52:12.958+09:00 DEBUG 10652 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T14:52:12.958+09:00 INFO 10652 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms +2025-04-28T14:52:12.978+09:00 DEBUG 10652 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T14:52:12.980+09:00 DEBUG 10652 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home() +2025-04-28T14:52:12.997+09:00 DEBUG 10652 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:52:13.212+09:00 DEBUG 10652 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:52:17.184+09:00 DEBUG 10652 --- [http-nio-8080-exec-4] o.s.web.servlet.DispatcherServlet : GET "/login?logout", parameters={masked} +2025-04-28T14:52:17.184+09:00 DEBUG 10652 --- [http-nio-8080-exec-4] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T14:52:17.186+09:00 DEBUG 10652 --- [http-nio-8080-exec-4] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:52:17.193+09:00 DEBUG 10652 --- [http-nio-8080-exec-4] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:52:18.733+09:00 DEBUG 10652 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : HTTP POST https://kauth.kakao.com/oauth/token +2025-04-28T14:52:18.739+09:00 DEBUG 10652 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T14:52:18.740+09:00 DEBUG 10652 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[IkEBQMSyU6fwsiwvtwyHEmb3Oz1tF5GwgyhejnnrK7g4fx_3pUemLQAAAAQKFxTuAAABlnr0EoFONYg--5I0Sw], redirect_uri=[http://localhost:8080/login/oauth2/code/kakao], client_id=[5eea303692395e4d36e5eff8b6133ea6], client_secret=[LxA67TvEovut6iCUEeOpl6Ti1OJaG4iI]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T14:52:18.853+09:00 DEBUG 10652 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T14:52:18.855+09:00 DEBUG 10652 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=UTF-8" +2025-04-28T14:52:18.886+09:00 DEBUG 10652 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : HTTP GET https://kapi.kakao.com/v2/user/me +2025-04-28T14:52:18.887+09:00 DEBUG 10652 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T14:52:18.949+09:00 DEBUG 10652 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T14:52:18.950+09:00 DEBUG 10652 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T14:52:19.148+09:00 INFO 10652 --- [http-nio-8080-exec-7] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T14:52:19.211+09:00 INFO 10652 --- [http-nio-8080-exec-7] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T14:52:19.215+09:00 DEBUG 10652 --- [http-nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T14:52:19.215+09:00 DEBUG 10652 --- [http-nio-8080-exec-8] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home() +2025-04-28T14:52:19.216+09:00 DEBUG 10652 --- [http-nio-8080-exec-8] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:52:19.218+09:00 DEBUG 10652 --- [http-nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:54:52.165+09:00 INFO 10652 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T14:54:52.408+09:00 INFO 10652 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T14:54:52.412+09:00 INFO 10652 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T14:54:52.413+09:00 INFO 10652 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T14:54:52.418+09:00 INFO 10652 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T14:54:56.018+09:00 INFO 20488 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 20488 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T14:54:56.020+09:00 DEBUG 20488 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T14:54:56.021+09:00 INFO 20488 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T14:54:56.621+09:00 INFO 20488 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T14:54:56.686+09:00 INFO 20488 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 58 ms. Found 3 JPA repository interfaces. +2025-04-28T14:54:57.057+09:00 INFO 20488 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T14:54:57.066+09:00 INFO 20488 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T14:54:57.066+09:00 INFO 20488 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T14:54:57.108+09:00 INFO 20488 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T14:54:57.108+09:00 INFO 20488 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1043 ms +2025-04-28T14:54:57.213+09:00 INFO 20488 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T14:54:57.256+09:00 INFO 20488 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T14:54:57.281+09:00 INFO 20488 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T14:54:57.496+09:00 INFO 20488 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T14:54:57.524+09:00 INFO 20488 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T14:54:57.726+09:00 INFO 20488 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@380e33c2 +2025-04-28T14:54:57.731+09:00 INFO 20488 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T14:54:57.771+09:00 WARN 20488 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T14:54:57.786+09:00 INFO 20488 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T14:54:58.762+09:00 INFO 20488 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T14:54:58.870+09:00 INFO 20488 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T14:54:58.896+09:00 DEBUG 20488 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T14:54:59.118+09:00 INFO 20488 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T14:54:59.500+09:00 WARN 20488 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T14:54:59.515+09:00 INFO 20488 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T14:54:59.616+09:00 DEBUG 20488 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T14:54:59.687+09:00 DEBUG 20488 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T14:54:59.703+09:00 WARN 20488 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T14:54:59.799+09:00 DEBUG 20488 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T14:54:59.852+09:00 DEBUG 20488 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T14:54:59.942+09:00 INFO 20488 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T14:54:59.948+09:00 INFO 20488 --- [main] sw_workbook.spring.Application : Started Application in 4.322 seconds (process running for 4.755) +2025-04-28T14:55:00.870+09:00 INFO 20488 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T14:55:00.870+09:00 INFO 20488 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T14:55:00.870+09:00 DEBUG 20488 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T14:55:00.870+09:00 DEBUG 20488 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T14:55:00.870+09:00 DEBUG 20488 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T14:55:00.871+09:00 DEBUG 20488 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@6d0e2a12 +2025-04-28T14:55:00.871+09:00 DEBUG 20488 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@1eeb3ae6 +2025-04-28T14:55:00.871+09:00 DEBUG 20488 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T14:55:00.871+09:00 INFO 20488 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2025-04-28T14:55:00.890+09:00 DEBUG 20488 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T14:55:00.891+09:00 DEBUG 20488 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home(Model, OAuth2User, OAuth2AuthenticationToken) +2025-04-28T14:55:00.905+09:00 DEBUG 20488 --- [http-nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler sw_workbook.spring.apiPayload.code.exception.handler.GlobalExceptionHandler#handleUnhandledException(Exception) +2025-04-28T14:55:00.905+09:00 ERROR 20488 --- [http-nio-8080-exec-1] s.s.a.c.e.h.GlobalExceptionHandler : [Unhandled Exception] + +java.lang.NullPointerException: Cannot invoke "org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken.getAuthorizedClientRegistrationId()" because "authenticationToken" is null + at sw_workbook.spring.web.controller.MemberViewController.home(MemberViewController.java:41) ~[main/:na] + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] + at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:257) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:986) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:891) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at sw_workbook.spring.config.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:33) ~[main/:na] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:198) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238) ~[spring-security-config-6.4.3.jar:6.4.3] + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na] + +2025-04-28T14:55:00.950+09:00 DEBUG 20488 --- [http-nio-8080-exec-1] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json;q=0.8', given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] and supported [application/json, application/*+json] +2025-04-28T14:55:00.952+09:00 DEBUG 20488 --- [http-nio-8080-exec-1] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [sw_workbook.spring.apiPayload.ApiResponse@2ca40fbb] +2025-04-28T14:55:00.963+09:00 DEBUG 20488 --- [http-nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken.getAuthorizedClientRegistrationId()" because "authenticationToken" is null] +2025-04-28T14:55:00.964+09:00 DEBUG 20488 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 500 INTERNAL_SERVER_ERROR +2025-04-28T14:55:03.507+09:00 DEBUG 20488 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : GET "/login?logout", parameters={masked} +2025-04-28T14:55:03.507+09:00 DEBUG 20488 --- [http-nio-8080-exec-5] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T14:55:03.515+09:00 DEBUG 20488 --- [http-nio-8080-exec-5] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:55:03.702+09:00 DEBUG 20488 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:55:05.033+09:00 DEBUG 20488 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : HTTP POST https://kauth.kakao.com/oauth/token +2025-04-28T14:55:05.038+09:00 DEBUG 20488 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T14:55:05.039+09:00 DEBUG 20488 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[beCIXpDijcoEgmxMbG7cXjwYSUIzM_fb2sAIoJxqmJtqC-ToP7NnKwAAAAQKFxJVAAABlnr2nBmUJG13ldIf8A], redirect_uri=[http://localhost:8080/login/oauth2/code/kakao], client_id=[5eea303692395e4d36e5eff8b6133ea6], client_secret=[LxA67TvEovut6iCUEeOpl6Ti1OJaG4iI]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T14:55:05.183+09:00 DEBUG 20488 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T14:55:05.184+09:00 DEBUG 20488 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=UTF-8" +2025-04-28T14:55:05.206+09:00 DEBUG 20488 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : HTTP GET https://kapi.kakao.com/v2/user/me +2025-04-28T14:55:05.207+09:00 DEBUG 20488 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T14:55:05.273+09:00 DEBUG 20488 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T14:55:05.274+09:00 DEBUG 20488 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T14:55:05.491+09:00 INFO 20488 --- [http-nio-8080-exec-6] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T14:55:05.545+09:00 INFO 20488 --- [http-nio-8080-exec-6] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T14:55:05.550+09:00 DEBUG 20488 --- [http-nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T14:55:05.551+09:00 DEBUG 20488 --- [http-nio-8080-exec-7] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home(Model, OAuth2User, OAuth2AuthenticationToken) +2025-04-28T14:55:05.553+09:00 DEBUG 20488 --- [http-nio-8080-exec-7] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler sw_workbook.spring.apiPayload.code.exception.handler.GlobalExceptionHandler#handleUnhandledException(Exception) +2025-04-28T14:55:05.553+09:00 ERROR 20488 --- [http-nio-8080-exec-7] s.s.a.c.e.h.GlobalExceptionHandler : [Unhandled Exception] + +java.lang.NullPointerException: Cannot invoke "org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken.getAuthorizedClientRegistrationId()" because "authenticationToken" is null + at sw_workbook.spring.web.controller.MemberViewController.home(MemberViewController.java:41) ~[main/:na] + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] + at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:257) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:986) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:891) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at sw_workbook.spring.config.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:33) ~[main/:na] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:198) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238) ~[spring-security-config-6.4.3.jar:6.4.3] + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na] + +2025-04-28T14:55:05.555+09:00 DEBUG 20488 --- [http-nio-8080-exec-7] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json;q=0.8', given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] and supported [application/json, application/*+json] +2025-04-28T14:55:05.555+09:00 DEBUG 20488 --- [http-nio-8080-exec-7] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [sw_workbook.spring.apiPayload.ApiResponse@28d7b2d7] +2025-04-28T14:55:05.556+09:00 DEBUG 20488 --- [http-nio-8080-exec-7] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken.getAuthorizedClientRegistrationId()" because "authenticationToken" is null] +2025-04-28T14:55:05.557+09:00 DEBUG 20488 --- [http-nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : Completed 500 INTERNAL_SERVER_ERROR +2025-04-28T14:56:40.264+09:00 INFO 20488 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T14:56:40.429+09:00 INFO 20488 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T14:56:40.445+09:00 INFO 20488 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T14:56:40.446+09:00 INFO 20488 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T14:56:40.451+09:00 INFO 20488 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T14:56:43.540+09:00 INFO 24144 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 24144 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T14:56:43.542+09:00 DEBUG 24144 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T14:56:43.542+09:00 INFO 24144 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T14:56:44.146+09:00 INFO 24144 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T14:56:44.209+09:00 INFO 24144 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 56 ms. Found 3 JPA repository interfaces. +2025-04-28T14:56:44.587+09:00 INFO 24144 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T14:56:44.596+09:00 INFO 24144 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T14:56:44.596+09:00 INFO 24144 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T14:56:44.638+09:00 INFO 24144 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T14:56:44.638+09:00 INFO 24144 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1064 ms +2025-04-28T14:56:44.746+09:00 INFO 24144 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T14:56:44.786+09:00 INFO 24144 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T14:56:44.812+09:00 INFO 24144 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T14:56:45.026+09:00 INFO 24144 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T14:56:45.051+09:00 INFO 24144 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T14:56:45.254+09:00 INFO 24144 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@949d347 +2025-04-28T14:56:45.256+09:00 INFO 24144 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T14:56:45.311+09:00 WARN 24144 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T14:56:45.326+09:00 INFO 24144 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T14:56:46.369+09:00 INFO 24144 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T14:56:46.452+09:00 INFO 24144 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T14:56:46.475+09:00 DEBUG 24144 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T14:56:46.694+09:00 INFO 24144 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T14:56:47.085+09:00 WARN 24144 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T14:56:47.115+09:00 INFO 24144 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T14:56:47.209+09:00 DEBUG 24144 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T14:56:47.280+09:00 DEBUG 24144 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T14:56:47.297+09:00 WARN 24144 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T14:56:47.399+09:00 DEBUG 24144 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T14:56:47.452+09:00 DEBUG 24144 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T14:56:47.563+09:00 INFO 24144 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T14:56:47.570+09:00 INFO 24144 --- [main] sw_workbook.spring.Application : Started Application in 4.444 seconds (process running for 4.885) +2025-04-28T14:56:51.149+09:00 INFO 24144 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T14:56:51.149+09:00 INFO 24144 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T14:56:51.149+09:00 DEBUG 24144 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T14:56:51.149+09:00 DEBUG 24144 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T14:56:51.149+09:00 DEBUG 24144 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T14:56:51.150+09:00 DEBUG 24144 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@589c37ef +2025-04-28T14:56:51.150+09:00 DEBUG 24144 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@442e3600 +2025-04-28T14:56:51.150+09:00 DEBUG 24144 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T14:56:51.150+09:00 INFO 24144 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms +2025-04-28T14:56:51.169+09:00 DEBUG 24144 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T14:56:51.170+09:00 DEBUG 24144 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home(Model, OAuth2User, OAuth2AuthenticationToken) +2025-04-28T14:56:51.183+09:00 DEBUG 24144 --- [http-nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler sw_workbook.spring.apiPayload.code.exception.handler.GlobalExceptionHandler#handleUnhandledException(Exception) +2025-04-28T14:56:51.184+09:00 ERROR 24144 --- [http-nio-8080-exec-1] s.s.a.c.e.h.GlobalExceptionHandler : [Unhandled Exception] + +java.lang.NullPointerException: Cannot invoke "org.springframework.security.oauth2.core.user.OAuth2User.getName()" because "oAuth2User" is null + at sw_workbook.spring.web.controller.MemberViewController.home(MemberViewController.java:49) ~[main/:na] + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] + at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:257) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:986) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:891) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at sw_workbook.spring.config.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:33) ~[main/:na] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:198) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238) ~[spring-security-config-6.4.3.jar:6.4.3] + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na] + +2025-04-28T14:56:51.225+09:00 DEBUG 24144 --- [http-nio-8080-exec-1] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json;q=0.8', given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] and supported [application/json, application/*+json] +2025-04-28T14:56:51.227+09:00 DEBUG 24144 --- [http-nio-8080-exec-1] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [sw_workbook.spring.apiPayload.ApiResponse@2ca40fbb] +2025-04-28T14:56:51.237+09:00 DEBUG 24144 --- [http-nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "org.springframework.security.oauth2.core.user.OAuth2User.getName()" because "oAuth2User" is null] +2025-04-28T14:56:51.238+09:00 DEBUG 24144 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 500 INTERNAL_SERVER_ERROR +2025-04-28T14:57:35.448+09:00 INFO 24144 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T14:57:35.664+09:00 INFO 24144 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T14:57:35.669+09:00 INFO 24144 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T14:57:35.671+09:00 INFO 24144 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T14:57:35.678+09:00 INFO 24144 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T14:57:39.229+09:00 INFO 12992 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 12992 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T14:57:39.232+09:00 DEBUG 12992 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T14:57:39.233+09:00 INFO 12992 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T14:57:39.870+09:00 INFO 12992 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T14:57:39.936+09:00 INFO 12992 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 58 ms. Found 3 JPA repository interfaces. +2025-04-28T14:57:40.348+09:00 INFO 12992 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T14:57:40.358+09:00 INFO 12992 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T14:57:40.359+09:00 INFO 12992 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T14:57:40.404+09:00 INFO 12992 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T14:57:40.404+09:00 INFO 12992 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1135 ms +2025-04-28T14:57:40.511+09:00 INFO 12992 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T14:57:40.551+09:00 INFO 12992 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T14:57:40.582+09:00 INFO 12992 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T14:57:40.818+09:00 INFO 12992 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T14:57:40.841+09:00 INFO 12992 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T14:57:41.068+09:00 INFO 12992 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@949d347 +2025-04-28T14:57:41.070+09:00 INFO 12992 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T14:57:41.108+09:00 WARN 12992 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T14:57:41.123+09:00 INFO 12992 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T14:57:42.072+09:00 INFO 12992 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T14:57:42.158+09:00 INFO 12992 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T14:57:42.182+09:00 DEBUG 12992 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T14:57:42.397+09:00 INFO 12992 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T14:57:42.800+09:00 WARN 12992 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T14:57:42.815+09:00 INFO 12992 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T14:57:42.904+09:00 DEBUG 12992 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T14:57:42.977+09:00 DEBUG 12992 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T14:57:42.993+09:00 WARN 12992 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T14:57:43.101+09:00 DEBUG 12992 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T14:57:43.154+09:00 DEBUG 12992 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T14:57:43.249+09:00 INFO 12992 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T14:57:43.255+09:00 INFO 12992 --- [main] sw_workbook.spring.Application : Started Application in 4.422 seconds (process running for 4.871) +2025-04-28T14:57:43.315+09:00 INFO 12992 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T14:57:43.315+09:00 INFO 12992 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T14:57:43.315+09:00 DEBUG 12992 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T14:57:43.315+09:00 DEBUG 12992 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T14:57:43.315+09:00 DEBUG 12992 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T14:57:43.316+09:00 DEBUG 12992 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@7acf609d +2025-04-28T14:57:43.316+09:00 DEBUG 12992 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@3993c2be +2025-04-28T14:57:43.317+09:00 DEBUG 12992 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T14:57:43.317+09:00 INFO 12992 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms +2025-04-28T14:57:43.338+09:00 DEBUG 12992 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T14:57:43.340+09:00 DEBUG 12992 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home() +2025-04-28T14:57:43.354+09:00 DEBUG 12992 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:57:43.584+09:00 DEBUG 12992 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:58:03.093+09:00 DEBUG 12992 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T14:58:03.093+09:00 DEBUG 12992 --- [http-nio-8080-exec-3] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T14:58:03.095+09:00 DEBUG 12992 --- [http-nio-8080-exec-3] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:58:03.101+09:00 DEBUG 12992 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T14:58:07.882+09:00 DEBUG 12992 --- [http-nio-8080-exec-8] o.s.web.client.RestTemplate : HTTP POST https://oauth2.googleapis.com/token +2025-04-28T14:58:07.888+09:00 DEBUG 12992 --- [http-nio-8080-exec-8] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T14:58:07.889+09:00 DEBUG 12992 --- [http-nio-8080-exec-8] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[4/0Ab_5qllVK-uG3Fg_d7iZs_INPaNebqZFI-fcPwnXXDJHQOgx03ftgOk1cJmYqpNHKzwYJQ], redirect_uri=[http://localhost:8080/login/oauth2/code/google]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T14:58:08.335+09:00 DEBUG 12992 --- [http-nio-8080-exec-8] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T14:58:08.337+09:00 DEBUG 12992 --- [http-nio-8080-exec-8] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=utf-8" +2025-04-28T14:58:08.369+09:00 DEBUG 12992 --- [http-nio-8080-exec-8] o.s.web.client.RestTemplate : HTTP GET https://www.googleapis.com/oauth2/v3/userinfo +2025-04-28T14:58:08.369+09:00 DEBUG 12992 --- [http-nio-8080-exec-8] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T14:58:08.752+09:00 DEBUG 12992 --- [http-nio-8080-exec-8] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T14:58:08.752+09:00 DEBUG 12992 --- [http-nio-8080-exec-8] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T14:58:08.986+09:00 INFO 12992 --- [http-nio-8080-exec-8] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T14:58:09.059+09:00 INFO 12992 --- [http-nio-8080-exec-8] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T14:58:09.064+09:00 DEBUG 12992 --- [http-nio-8080-exec-10] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T14:58:09.064+09:00 DEBUG 12992 --- [http-nio-8080-exec-10] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home() +2025-04-28T14:58:09.065+09:00 DEBUG 12992 --- [http-nio-8080-exec-10] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T14:58:09.067+09:00 DEBUG 12992 --- [http-nio-8080-exec-10] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T17:38:05.543+09:00 WARN 12992 --- [HikariPool-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=2h34m54s278ms559µs300ns). +2025-04-28T19:15:13.711+09:00 WARN 12992 --- [HikariPool-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=1h35m38s145ms953µs200ns). +2025-04-28T20:00:28.093+09:00 WARN 12992 --- [HikariPool-1 housekeeper] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=40m44s311ms737µs300ns). +2025-04-28T20:10:44.463+09:00 INFO 12992 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T20:10:44.899+09:00 INFO 12992 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T20:10:44.907+09:00 INFO 12992 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T20:10:44.910+09:00 INFO 12992 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T20:10:44.930+09:00 INFO 12992 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T20:11:40.739+09:00 INFO 12004 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 12004 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T20:11:40.745+09:00 DEBUG 12004 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T20:11:40.747+09:00 INFO 12004 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T20:11:42.122+09:00 INFO 12004 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T20:11:42.270+09:00 INFO 12004 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 132 ms. Found 3 JPA repository interfaces. +2025-04-28T20:11:43.145+09:00 INFO 12004 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T20:11:43.166+09:00 INFO 12004 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T20:11:43.167+09:00 INFO 12004 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T20:11:43.279+09:00 INFO 12004 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T20:11:43.280+09:00 INFO 12004 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2449 ms +2025-04-28T20:11:43.570+09:00 INFO 12004 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T20:11:43.663+09:00 INFO 12004 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T20:11:43.720+09:00 INFO 12004 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T20:11:44.235+09:00 INFO 12004 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T20:11:44.297+09:00 INFO 12004 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T20:11:44.829+09:00 INFO 12004 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@5a2f401a +2025-04-28T20:11:44.833+09:00 INFO 12004 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T20:11:44.928+09:00 WARN 12004 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T20:11:44.970+09:00 INFO 12004 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T20:11:47.107+09:00 INFO 12004 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T20:11:47.330+09:00 INFO 12004 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T20:11:47.393+09:00 DEBUG 12004 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T20:11:47.936+09:00 INFO 12004 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T20:11:48.841+09:00 WARN 12004 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T20:11:48.874+09:00 INFO 12004 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T20:11:49.106+09:00 DEBUG 12004 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T20:11:49.261+09:00 DEBUG 12004 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T20:11:49.304+09:00 WARN 12004 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T20:11:49.562+09:00 DEBUG 12004 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T20:11:49.707+09:00 DEBUG 12004 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T20:11:49.930+09:00 INFO 12004 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T20:11:49.947+09:00 INFO 12004 --- [main] sw_workbook.spring.Application : Started Application in 10.117 seconds (process running for 11.191) +2025-04-28T20:12:52.218+09:00 INFO 12004 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T20:12:52.219+09:00 INFO 12004 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T20:12:52.219+09:00 DEBUG 12004 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T20:12:52.219+09:00 DEBUG 12004 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T20:12:52.219+09:00 DEBUG 12004 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T20:12:52.221+09:00 DEBUG 12004 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@36bc1a23 +2025-04-28T20:12:52.221+09:00 DEBUG 12004 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@589c37ef +2025-04-28T20:12:52.222+09:00 DEBUG 12004 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T20:12:52.222+09:00 INFO 12004 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms +2025-04-28T20:12:52.264+09:00 DEBUG 12004 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T20:12:52.267+09:00 DEBUG 12004 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home(Model, OAuth2User, OAuth2AuthenticationToken) +2025-04-28T20:12:52.297+09:00 DEBUG 12004 --- [http-nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler sw_workbook.spring.apiPayload.code.exception.handler.GlobalExceptionHandler#handleUnhandledException(Exception) +2025-04-28T20:12:52.298+09:00 ERROR 12004 --- [http-nio-8080-exec-1] s.s.a.c.e.h.GlobalExceptionHandler : [Unhandled Exception] + +java.lang.NullPointerException: Cannot invoke "org.springframework.security.oauth2.core.user.OAuth2User.getName()" because "oAuth2User" is null + at sw_workbook.spring.web.controller.MemberViewController.home(MemberViewController.java:53) ~[main/:na] + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] + at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:257) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:986) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:891) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at sw_workbook.spring.config.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:33) ~[main/:na] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:198) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238) ~[spring-security-config-6.4.3.jar:6.4.3] + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na] + +2025-04-28T20:12:52.381+09:00 DEBUG 12004 --- [http-nio-8080-exec-1] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json;q=0.8', given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] and supported [application/json, application/*+json] +2025-04-28T20:12:52.385+09:00 DEBUG 12004 --- [http-nio-8080-exec-1] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [sw_workbook.spring.apiPayload.ApiResponse@433de520] +2025-04-28T20:12:52.409+09:00 DEBUG 12004 --- [http-nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "org.springframework.security.oauth2.core.user.OAuth2User.getName()" because "oAuth2User" is null] +2025-04-28T20:12:52.410+09:00 DEBUG 12004 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 500 INTERNAL_SERVER_ERROR +2025-04-28T20:13:00.107+09:00 DEBUG 12004 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T20:13:00.108+09:00 DEBUG 12004 --- [http-nio-8080-exec-3] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T20:13:00.126+09:00 DEBUG 12004 --- [http-nio-8080-exec-3] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T20:13:00.599+09:00 DEBUG 12004 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T20:13:14.124+09:00 DEBUG 12004 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : HTTP POST https://kauth.kakao.com/oauth/token +2025-04-28T20:13:14.137+09:00 DEBUG 12004 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T20:13:14.139+09:00 DEBUG 12004 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[shedpUwPu_9i_b9_VYVKhwXXvBNsLUd1S20PK9NBwl_dP2RbAQU_RQAAAAQKDSHZAAABlnwZ4zQq3eF1vjqPRg], redirect_uri=[http://localhost:8080/login/oauth2/code/kakao], client_id=[5eea303692395e4d36e5eff8b6133ea6], client_secret=[LxA67TvEovut6iCUEeOpl6Ti1OJaG4iI]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T20:13:14.428+09:00 DEBUG 12004 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T20:13:14.431+09:00 DEBUG 12004 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=UTF-8" +2025-04-28T20:13:14.486+09:00 DEBUG 12004 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : HTTP GET https://kapi.kakao.com/v2/user/me +2025-04-28T20:13:14.487+09:00 DEBUG 12004 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T20:13:14.637+09:00 DEBUG 12004 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T20:13:14.638+09:00 DEBUG 12004 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T20:13:15.154+09:00 INFO 12004 --- [http-nio-8080-exec-6] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T20:13:15.264+09:00 INFO 12004 --- [http-nio-8080-exec-6] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T20:13:15.273+09:00 DEBUG 12004 --- [http-nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T20:13:15.274+09:00 DEBUG 12004 --- [http-nio-8080-exec-7] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home(Model, OAuth2User, OAuth2AuthenticationToken) +2025-04-28T20:13:15.276+09:00 DEBUG 12004 --- [http-nio-8080-exec-7] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler sw_workbook.spring.apiPayload.code.exception.handler.GlobalExceptionHandler#handleUnhandledException(Exception) +2025-04-28T20:13:15.276+09:00 ERROR 12004 --- [http-nio-8080-exec-7] s.s.a.c.e.h.GlobalExceptionHandler : [Unhandled Exception] + +java.lang.NullPointerException: Cannot invoke "org.springframework.security.oauth2.core.user.OAuth2User.getName()" because "oAuth2User" is null + at sw_workbook.spring.web.controller.MemberViewController.home(MemberViewController.java:53) ~[main/:na] + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] + at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:257) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:986) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:891) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at sw_workbook.spring.config.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:33) ~[main/:na] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:198) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238) ~[spring-security-config-6.4.3.jar:6.4.3] + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na] + +2025-04-28T20:13:15.279+09:00 DEBUG 12004 --- [http-nio-8080-exec-7] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json;q=0.8', given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] and supported [application/json, application/*+json] +2025-04-28T20:13:15.280+09:00 DEBUG 12004 --- [http-nio-8080-exec-7] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [sw_workbook.spring.apiPayload.ApiResponse@751a16d6] +2025-04-28T20:13:15.281+09:00 DEBUG 12004 --- [http-nio-8080-exec-7] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "org.springframework.security.oauth2.core.user.OAuth2User.getName()" because "oAuth2User" is null] +2025-04-28T20:13:15.282+09:00 DEBUG 12004 --- [http-nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : Completed 500 INTERNAL_SERVER_ERROR +2025-04-28T20:15:34.945+09:00 INFO 12004 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T20:15:35.407+09:00 INFO 12004 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T20:15:35.416+09:00 INFO 12004 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T20:15:35.419+09:00 INFO 12004 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T20:15:35.430+09:00 INFO 12004 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T20:15:42.302+09:00 INFO 14312 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 14312 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T20:15:42.306+09:00 DEBUG 14312 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T20:15:42.308+09:00 INFO 14312 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T20:15:43.710+09:00 INFO 14312 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T20:15:43.871+09:00 INFO 14312 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 142 ms. Found 3 JPA repository interfaces. +2025-04-28T20:15:44.757+09:00 INFO 14312 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T20:15:44.778+09:00 INFO 14312 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T20:15:44.779+09:00 INFO 14312 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T20:15:44.889+09:00 INFO 14312 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T20:15:44.890+09:00 INFO 14312 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2500 ms +2025-04-28T20:15:45.170+09:00 INFO 14312 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T20:15:45.267+09:00 INFO 14312 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T20:15:45.323+09:00 INFO 14312 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T20:15:45.841+09:00 INFO 14312 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T20:15:45.893+09:00 INFO 14312 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T20:15:46.392+09:00 INFO 14312 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@1c31de5d +2025-04-28T20:15:46.404+09:00 INFO 14312 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T20:15:46.504+09:00 WARN 14312 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T20:15:46.550+09:00 INFO 14312 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T20:15:48.731+09:00 INFO 14312 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T20:15:48.901+09:00 INFO 14312 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T20:15:48.956+09:00 DEBUG 14312 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T20:15:49.457+09:00 INFO 14312 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T20:15:50.398+09:00 WARN 14312 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T20:15:50.436+09:00 INFO 14312 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T20:15:50.648+09:00 DEBUG 14312 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T20:15:50.787+09:00 DEBUG 14312 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T20:15:50.820+09:00 WARN 14312 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T20:15:51.046+09:00 DEBUG 14312 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T20:15:51.182+09:00 DEBUG 14312 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T20:15:51.407+09:00 INFO 14312 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T20:15:51.423+09:00 INFO 14312 --- [main] sw_workbook.spring.Application : Started Application in 10.058 seconds (process running for 11.056) +2025-04-28T20:16:01.574+09:00 INFO 14312 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T20:16:01.574+09:00 INFO 14312 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T20:16:01.575+09:00 DEBUG 14312 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T20:16:01.575+09:00 DEBUG 14312 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T20:16:01.575+09:00 DEBUG 14312 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T20:16:01.577+09:00 DEBUG 14312 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@ec1963b +2025-04-28T20:16:01.577+09:00 DEBUG 14312 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@726986d2 +2025-04-28T20:16:01.578+09:00 DEBUG 14312 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T20:16:01.578+09:00 INFO 14312 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms +2025-04-28T20:16:01.630+09:00 DEBUG 14312 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T20:16:01.633+09:00 DEBUG 14312 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home(Model, Object, OAuth2AuthenticationToken) +2025-04-28T20:16:01.677+09:00 DEBUG 14312 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T20:16:02.213+09:00 DEBUG 14312 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T20:17:05.493+09:00 DEBUG 14312 --- [http-nio-8080-exec-6] o.s.web.servlet.DispatcherServlet : GET "/login?logout", parameters={masked} +2025-04-28T20:17:05.494+09:00 DEBUG 14312 --- [http-nio-8080-exec-6] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T20:17:05.496+09:00 DEBUG 14312 --- [http-nio-8080-exec-6] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T20:17:05.508+09:00 DEBUG 14312 --- [http-nio-8080-exec-6] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T20:17:06.632+09:00 DEBUG 14312 --- [http-nio-8080-exec-9] o.s.web.client.RestTemplate : HTTP POST https://kauth.kakao.com/oauth/token +2025-04-28T20:17:06.646+09:00 DEBUG 14312 --- [http-nio-8080-exec-9] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T20:17:06.648+09:00 DEBUG 14312 --- [http-nio-8080-exec-9] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[OcuQKVWPdTsjsVLvu5xd12ATmwXvh3UzFrI45ZnNBRTlS4TlRUcWXwAAAAQKDRtZAAABlnwdb4Gvm_uHqQwxKA], redirect_uri=[http://localhost:8080/login/oauth2/code/kakao], client_id=[5eea303692395e4d36e5eff8b6133ea6], client_secret=[LxA67TvEovut6iCUEeOpl6Ti1OJaG4iI]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T20:17:06.876+09:00 DEBUG 14312 --- [http-nio-8080-exec-9] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T20:17:06.879+09:00 DEBUG 14312 --- [http-nio-8080-exec-9] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=UTF-8" +2025-04-28T20:17:06.946+09:00 DEBUG 14312 --- [http-nio-8080-exec-9] o.s.web.client.RestTemplate : HTTP GET https://kapi.kakao.com/v2/user/me +2025-04-28T20:17:06.948+09:00 DEBUG 14312 --- [http-nio-8080-exec-9] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T20:17:07.083+09:00 DEBUG 14312 --- [http-nio-8080-exec-9] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T20:17:07.084+09:00 DEBUG 14312 --- [http-nio-8080-exec-9] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T20:17:07.548+09:00 INFO 14312 --- [http-nio-8080-exec-9] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T20:17:07.671+09:00 INFO 14312 --- [http-nio-8080-exec-9] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T20:17:07.678+09:00 DEBUG 14312 --- [http-nio-8080-exec-10] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T20:17:07.678+09:00 DEBUG 14312 --- [http-nio-8080-exec-10] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home(Model, Object, OAuth2AuthenticationToken) +2025-04-28T20:17:07.680+09:00 DEBUG 14312 --- [http-nio-8080-exec-10] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T20:17:07.683+09:00 DEBUG 14312 --- [http-nio-8080-exec-10] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T20:22:15.901+09:00 INFO 14312 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T20:22:16.419+09:00 INFO 14312 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T20:22:16.426+09:00 INFO 14312 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T20:22:16.429+09:00 INFO 14312 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T20:22:16.438+09:00 INFO 14312 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T20:22:23.518+09:00 INFO 22404 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 22404 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T20:22:23.522+09:00 DEBUG 22404 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T20:22:23.524+09:00 INFO 22404 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T20:22:24.908+09:00 INFO 22404 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T20:22:25.070+09:00 INFO 22404 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 145 ms. Found 3 JPA repository interfaces. +2025-04-28T20:22:26.014+09:00 INFO 22404 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T20:22:26.035+09:00 INFO 22404 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T20:22:26.036+09:00 INFO 22404 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T20:22:26.143+09:00 INFO 22404 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T20:22:26.144+09:00 INFO 22404 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2550 ms +2025-04-28T20:22:26.400+09:00 INFO 22404 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T20:22:26.493+09:00 INFO 22404 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T20:22:26.550+09:00 INFO 22404 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T20:22:27.058+09:00 INFO 22404 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T20:22:27.113+09:00 INFO 22404 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T20:22:27.603+09:00 INFO 22404 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@5a2f401a +2025-04-28T20:22:27.607+09:00 INFO 22404 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T20:22:27.695+09:00 WARN 22404 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T20:22:27.732+09:00 INFO 22404 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T20:22:29.844+09:00 INFO 22404 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T20:22:30.041+09:00 INFO 22404 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T20:22:30.100+09:00 DEBUG 22404 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T20:22:30.658+09:00 INFO 22404 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T20:22:31.587+09:00 WARN 22404 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T20:22:31.620+09:00 INFO 22404 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T20:22:31.835+09:00 DEBUG 22404 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T20:22:31.967+09:00 DEBUG 22404 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T20:22:32.001+09:00 WARN 22404 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T20:22:32.229+09:00 DEBUG 22404 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T20:22:32.354+09:00 DEBUG 22404 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T20:22:32.548+09:00 INFO 22404 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T20:22:32.564+09:00 INFO 22404 --- [main] sw_workbook.spring.Application : Started Application in 9.913 seconds (process running for 10.927) +2025-04-28T20:22:56.429+09:00 INFO 22404 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T20:22:56.430+09:00 INFO 22404 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T20:22:56.430+09:00 DEBUG 22404 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T20:22:56.431+09:00 DEBUG 22404 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T20:22:56.431+09:00 DEBUG 22404 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T20:22:56.432+09:00 DEBUG 22404 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@5aee12c7 +2025-04-28T20:22:56.433+09:00 DEBUG 22404 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@7acf609d +2025-04-28T20:22:56.433+09:00 DEBUG 22404 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T20:22:56.433+09:00 INFO 22404 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms +2025-04-28T20:22:56.477+09:00 DEBUG 22404 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T20:22:56.479+09:00 DEBUG 22404 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home(Model, Authentication) +2025-04-28T20:22:56.506+09:00 DEBUG 22404 --- [http-nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler sw_workbook.spring.apiPayload.code.exception.handler.GlobalExceptionHandler#handleUnhandledException(Exception) +2025-04-28T20:22:56.507+09:00 ERROR 22404 --- [http-nio-8080-exec-1] s.s.a.c.e.h.GlobalExceptionHandler : [Unhandled Exception] + +java.lang.NullPointerException: Cannot invoke "org.springframework.security.core.Authentication.getPrincipal()" because "authentication" is null + at sw_workbook.spring.web.controller.MemberViewController.home(MemberViewController.java:54) ~[main/:na] + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] + at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:257) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:190) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:986) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:891) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at sw_workbook.spring.config.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:33) ~[main/:na] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:198) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238) ~[spring-security-config-6.4.3.jar:6.4.3] + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na] + +2025-04-28T20:22:56.592+09:00 DEBUG 22404 --- [http-nio-8080-exec-1] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json;q=0.8', given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] and supported [application/json, application/*+json] +2025-04-28T20:22:56.596+09:00 DEBUG 22404 --- [http-nio-8080-exec-1] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [sw_workbook.spring.apiPayload.ApiResponse@6b65fcf] +2025-04-28T20:22:56.619+09:00 DEBUG 22404 --- [http-nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException: Cannot invoke "org.springframework.security.core.Authentication.getPrincipal()" because "authentication" is null] +2025-04-28T20:22:56.622+09:00 DEBUG 22404 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 500 INTERNAL_SERVER_ERROR +2025-04-28T20:25:33.073+09:00 INFO 22404 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T20:25:33.588+09:00 INFO 22404 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T20:25:33.596+09:00 INFO 22404 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T20:25:33.599+09:00 INFO 22404 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T20:25:33.612+09:00 INFO 22404 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T20:25:40.117+09:00 INFO 27272 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 27272 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T20:25:40.122+09:00 DEBUG 27272 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T20:25:40.124+09:00 INFO 27272 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T20:25:41.448+09:00 INFO 27272 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T20:25:41.612+09:00 INFO 27272 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 149 ms. Found 3 JPA repository interfaces. +2025-04-28T20:25:42.453+09:00 INFO 27272 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T20:25:42.474+09:00 INFO 27272 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T20:25:42.474+09:00 INFO 27272 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T20:25:42.589+09:00 INFO 27272 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T20:25:42.590+09:00 INFO 27272 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2382 ms +2025-04-28T20:25:42.852+09:00 INFO 27272 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T20:25:42.952+09:00 INFO 27272 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T20:25:43.010+09:00 INFO 27272 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T20:25:43.594+09:00 INFO 27272 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T20:25:43.663+09:00 INFO 27272 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T20:25:44.220+09:00 INFO 27272 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@5a2f401a +2025-04-28T20:25:44.224+09:00 INFO 27272 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T20:25:44.332+09:00 WARN 27272 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T20:25:44.376+09:00 INFO 27272 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T20:25:46.545+09:00 INFO 27272 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T20:25:46.718+09:00 INFO 27272 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T20:25:46.772+09:00 DEBUG 27272 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T20:25:47.274+09:00 INFO 27272 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T20:25:48.186+09:00 WARN 27272 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T20:25:48.221+09:00 INFO 27272 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T20:25:48.446+09:00 DEBUG 27272 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T20:25:48.611+09:00 DEBUG 27272 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T20:25:48.651+09:00 WARN 27272 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T20:25:48.908+09:00 DEBUG 27272 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T20:25:49.055+09:00 DEBUG 27272 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T20:25:49.257+09:00 INFO 27272 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T20:25:49.273+09:00 INFO 27272 --- [main] sw_workbook.spring.Application : Started Application in 10.083 seconds (process running for 11.146) +2025-04-28T20:25:53.511+09:00 INFO 27272 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T20:25:53.512+09:00 INFO 27272 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T20:25:53.513+09:00 DEBUG 27272 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T20:25:53.513+09:00 DEBUG 27272 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T20:25:53.513+09:00 DEBUG 27272 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T20:25:53.514+09:00 DEBUG 27272 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@5aee12c7 +2025-04-28T20:25:53.515+09:00 DEBUG 27272 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@7acf609d +2025-04-28T20:25:53.516+09:00 DEBUG 27272 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T20:25:53.516+09:00 INFO 27272 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms +2025-04-28T20:25:53.567+09:00 DEBUG 27272 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T20:25:53.570+09:00 DEBUG 27272 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home(Model, Authentication) +2025-04-28T20:25:53.609+09:00 DEBUG 27272 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T20:25:54.133+09:00 DEBUG 27272 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T20:25:58.913+09:00 DEBUG 27272 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T20:25:58.914+09:00 DEBUG 27272 --- [http-nio-8080-exec-3] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T20:25:58.917+09:00 DEBUG 27272 --- [http-nio-8080-exec-3] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T20:25:58.930+09:00 DEBUG 27272 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T20:26:00.761+09:00 DEBUG 27272 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : HTTP POST https://kauth.kakao.com/oauth/token +2025-04-28T20:26:00.774+09:00 DEBUG 27272 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T20:26:00.776+09:00 DEBUG 27272 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[18toKjH2IYqcpPz5HuDZ2FOL0pMFpuz89mcWZY7zQ2iUwg8EWKNelwAAAAQKFzXdAAABlnwllgjmTYKY7N6ACw], redirect_uri=[http://localhost:8080/login/oauth2/code/kakao], client_id=[5eea303692395e4d36e5eff8b6133ea6], client_secret=[LxA67TvEovut6iCUEeOpl6Ti1OJaG4iI]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T20:26:00.995+09:00 DEBUG 27272 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T20:26:00.998+09:00 DEBUG 27272 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=UTF-8" +2025-04-28T20:26:01.063+09:00 DEBUG 27272 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : HTTP GET https://kapi.kakao.com/v2/user/me +2025-04-28T20:26:01.064+09:00 DEBUG 27272 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T20:26:01.146+09:00 DEBUG 27272 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T20:26:01.147+09:00 DEBUG 27272 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T20:26:01.617+09:00 INFO 27272 --- [http-nio-8080-exec-6] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T20:26:01.744+09:00 INFO 27272 --- [http-nio-8080-exec-6] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T20:26:01.751+09:00 DEBUG 27272 --- [http-nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T20:26:01.752+09:00 DEBUG 27272 --- [http-nio-8080-exec-7] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home(Model, Authentication) +2025-04-28T20:26:01.754+09:00 DEBUG 27272 --- [http-nio-8080-exec-7] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T20:26:01.757+09:00 DEBUG 27272 --- [http-nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T20:29:43.426+09:00 INFO 27272 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T20:29:43.888+09:00 INFO 27272 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T20:29:43.898+09:00 INFO 27272 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T20:29:43.902+09:00 INFO 27272 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T20:29:43.914+09:00 INFO 27272 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T20:29:50.132+09:00 INFO 10032 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 10032 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T20:29:50.137+09:00 DEBUG 10032 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T20:29:50.138+09:00 INFO 10032 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T20:29:51.508+09:00 INFO 10032 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T20:29:51.661+09:00 INFO 10032 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 138 ms. Found 3 JPA repository interfaces. +2025-04-28T20:29:52.544+09:00 INFO 10032 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T20:29:52.565+09:00 INFO 10032 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T20:29:52.566+09:00 INFO 10032 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T20:29:52.674+09:00 INFO 10032 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T20:29:52.675+09:00 INFO 10032 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2463 ms +2025-04-28T20:29:52.932+09:00 INFO 10032 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T20:29:53.026+09:00 INFO 10032 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T20:29:53.094+09:00 INFO 10032 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T20:29:53.596+09:00 INFO 10032 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T20:29:53.648+09:00 INFO 10032 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T20:29:54.127+09:00 INFO 10032 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@45ad3cd8 +2025-04-28T20:29:54.131+09:00 INFO 10032 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T20:29:54.223+09:00 WARN 10032 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T20:29:54.271+09:00 INFO 10032 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T20:29:56.566+09:00 INFO 10032 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T20:29:56.745+09:00 INFO 10032 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T20:29:56.797+09:00 DEBUG 10032 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T20:29:57.314+09:00 INFO 10032 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T20:29:58.241+09:00 WARN 10032 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T20:29:58.274+09:00 INFO 10032 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T20:29:58.486+09:00 DEBUG 10032 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T20:29:58.620+09:00 DEBUG 10032 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T20:29:58.653+09:00 WARN 10032 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T20:29:58.881+09:00 DEBUG 10032 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T20:29:59.003+09:00 DEBUG 10032 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T20:29:59.211+09:00 INFO 10032 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T20:29:59.226+09:00 INFO 10032 --- [main] sw_workbook.spring.Application : Started Application in 10.007 seconds (process running for 11.031) +2025-04-28T20:30:46.389+09:00 INFO 10032 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T20:30:46.390+09:00 INFO 10032 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T20:30:46.390+09:00 DEBUG 10032 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T20:30:46.390+09:00 DEBUG 10032 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T20:30:46.391+09:00 DEBUG 10032 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T20:30:46.393+09:00 DEBUG 10032 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@6e0fe9cd +2025-04-28T20:30:46.393+09:00 DEBUG 10032 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@e0895b3 +2025-04-28T20:30:46.394+09:00 DEBUG 10032 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T20:30:46.394+09:00 INFO 10032 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms +2025-04-28T20:30:46.449+09:00 DEBUG 10032 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T20:30:46.452+09:00 DEBUG 10032 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home(Model, Authentication) +2025-04-28T20:30:46.499+09:00 DEBUG 10032 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T20:30:47.047+09:00 DEBUG 10032 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T20:30:48.519+09:00 DEBUG 10032 --- [http-nio-8080-exec-4] o.s.web.servlet.DispatcherServlet : GET "/login?logout", parameters={masked} +2025-04-28T20:30:48.520+09:00 DEBUG 10032 --- [http-nio-8080-exec-4] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T20:30:48.522+09:00 DEBUG 10032 --- [http-nio-8080-exec-4] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T20:30:48.532+09:00 DEBUG 10032 --- [http-nio-8080-exec-4] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T20:30:49.637+09:00 DEBUG 10032 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : HTTP POST https://kauth.kakao.com/oauth/token +2025-04-28T20:30:49.651+09:00 DEBUG 10032 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T20:30:49.653+09:00 DEBUG 10032 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[yj6EuOFtQXYTMhJN3LsTPXHl4ZSf0EQ1orslRxTjnNGsuChxm6k9VgAAAAQKDQ0hAAABlnwp_lfo6jj-qNQmaA], redirect_uri=[http://localhost:8080/login/oauth2/code/kakao], client_id=[5eea303692395e4d36e5eff8b6133ea6], client_secret=[LxA67TvEovut6iCUEeOpl6Ti1OJaG4iI]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T20:30:49.864+09:00 DEBUG 10032 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T20:30:49.866+09:00 DEBUG 10032 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=UTF-8" +2025-04-28T20:30:49.932+09:00 DEBUG 10032 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : HTTP GET https://kapi.kakao.com/v2/user/me +2025-04-28T20:30:49.933+09:00 DEBUG 10032 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T20:30:50.071+09:00 DEBUG 10032 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T20:30:50.072+09:00 DEBUG 10032 --- [http-nio-8080-exec-7] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T20:30:50.542+09:00 INFO 10032 --- [http-nio-8080-exec-7] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T20:30:50.693+09:00 INFO 10032 --- [http-nio-8080-exec-7] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T20:30:50.704+09:00 DEBUG 10032 --- [http-nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T20:30:50.705+09:00 DEBUG 10032 --- [http-nio-8080-exec-8] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home(Model, Authentication) +2025-04-28T20:30:50.707+09:00 DEBUG 10032 --- [http-nio-8080-exec-8] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T20:30:50.711+09:00 DEBUG 10032 --- [http-nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T20:30:55.465+09:00 DEBUG 10032 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/login?logout", parameters={masked} +2025-04-28T20:30:55.466+09:00 DEBUG 10032 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T20:30:55.468+09:00 DEBUG 10032 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T20:30:55.472+09:00 DEBUG 10032 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T20:30:59.860+09:00 DEBUG 10032 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : HTTP POST https://oauth2.googleapis.com/token +2025-04-28T20:30:59.860+09:00 DEBUG 10032 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T20:30:59.860+09:00 DEBUG 10032 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[4/0Ab_5qlmUCBQ6Rso5eN2XbCnBhShCsgH5H1CzrcbE3uVGxrWpmStQ-rtOU2Uou_niXZGsrg], redirect_uri=[http://localhost:8080/login/oauth2/code/google]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T20:31:00.225+09:00 DEBUG 10032 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T20:31:00.226+09:00 DEBUG 10032 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=utf-8" +2025-04-28T20:31:00.227+09:00 DEBUG 10032 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : HTTP GET https://www.googleapis.com/oauth2/v3/userinfo +2025-04-28T20:31:00.227+09:00 DEBUG 10032 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T20:31:00.616+09:00 DEBUG 10032 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T20:31:00.616+09:00 DEBUG 10032 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T20:31:00.825+09:00 INFO 10032 --- [http-nio-8080-exec-4] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T20:31:00.867+09:00 INFO 10032 --- [http-nio-8080-exec-4] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T20:31:00.876+09:00 DEBUG 10032 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T20:31:00.877+09:00 DEBUG 10032 --- [http-nio-8080-exec-5] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home(Model, Authentication) +2025-04-28T20:31:00.879+09:00 DEBUG 10032 --- [http-nio-8080-exec-5] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T20:31:00.883+09:00 DEBUG 10032 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T20:31:25.281+09:00 INFO 10032 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T20:31:25.773+09:00 INFO 10032 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T20:31:25.783+09:00 INFO 10032 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T20:31:25.787+09:00 INFO 10032 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T20:31:25.801+09:00 INFO 10032 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T20:31:30.250+09:00 INFO 608 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 608 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T20:31:30.255+09:00 DEBUG 608 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T20:31:30.256+09:00 INFO 608 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T20:31:31.696+09:00 INFO 608 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T20:31:31.864+09:00 INFO 608 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 152 ms. Found 3 JPA repository interfaces. +2025-04-28T20:31:32.760+09:00 INFO 608 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T20:31:32.784+09:00 INFO 608 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T20:31:32.785+09:00 INFO 608 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T20:31:32.894+09:00 INFO 608 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T20:31:32.895+09:00 INFO 608 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2568 ms +2025-04-28T20:31:33.169+09:00 INFO 608 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T20:31:33.279+09:00 INFO 608 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T20:31:33.353+09:00 INFO 608 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T20:31:33.957+09:00 INFO 608 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T20:31:34.033+09:00 INFO 608 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T20:31:34.560+09:00 INFO 608 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@45ad3cd8 +2025-04-28T20:31:34.565+09:00 INFO 608 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T20:31:34.661+09:00 WARN 608 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T20:31:34.697+09:00 INFO 608 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T20:31:36.906+09:00 INFO 608 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T20:31:37.087+09:00 INFO 608 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T20:31:37.141+09:00 DEBUG 608 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T20:31:37.702+09:00 INFO 608 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T20:31:38.738+09:00 WARN 608 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T20:31:38.780+09:00 INFO 608 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T20:31:39.026+09:00 DEBUG 608 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T20:31:39.174+09:00 DEBUG 608 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T20:31:39.219+09:00 WARN 608 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T20:31:39.479+09:00 DEBUG 608 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T20:31:39.694+09:00 DEBUG 608 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T20:31:39.921+09:00 INFO 608 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T20:31:39.936+09:00 INFO 608 --- [main] sw_workbook.spring.Application : Started Application in 10.608 seconds (process running for 11.714) +2025-04-28T20:31:40.732+09:00 INFO 608 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T20:31:40.732+09:00 INFO 608 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T20:31:40.733+09:00 DEBUG 608 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T20:31:40.733+09:00 DEBUG 608 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T20:31:40.733+09:00 DEBUG 608 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T20:31:40.734+09:00 DEBUG 608 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@6e0fe9cd +2025-04-28T20:31:40.735+09:00 DEBUG 608 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@e0895b3 +2025-04-28T20:31:40.736+09:00 DEBUG 608 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T20:31:40.736+09:00 INFO 608 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms +2025-04-28T20:31:40.817+09:00 DEBUG 608 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T20:31:40.821+09:00 DEBUG 608 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home(Model, Authentication) +2025-04-28T20:31:40.887+09:00 DEBUG 608 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T20:31:41.405+09:00 DEBUG 608 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T20:56:30.058+09:00 INFO 608 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T20:56:30.516+09:00 INFO 608 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T20:56:30.533+09:00 INFO 608 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T20:56:30.536+09:00 INFO 608 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T20:56:30.562+09:00 INFO 608 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T20:56:37.335+09:00 INFO 24792 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 24792 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T20:56:37.341+09:00 DEBUG 24792 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T20:56:37.343+09:00 INFO 24792 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T20:56:38.805+09:00 INFO 24792 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T20:56:38.977+09:00 INFO 24792 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 156 ms. Found 3 JPA repository interfaces. +2025-04-28T20:56:39.966+09:00 INFO 24792 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T20:56:39.992+09:00 INFO 24792 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T20:56:39.992+09:00 INFO 24792 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T20:56:40.104+09:00 INFO 24792 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T20:56:40.105+09:00 INFO 24792 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2686 ms +2025-04-28T20:56:40.339+09:00 INFO 24792 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T20:56:40.430+09:00 INFO 24792 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T20:56:40.495+09:00 INFO 24792 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T20:56:41.024+09:00 INFO 24792 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T20:56:41.077+09:00 INFO 24792 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T20:56:41.562+09:00 INFO 24792 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@949d347 +2025-04-28T20:56:41.565+09:00 INFO 24792 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T20:56:41.671+09:00 WARN 24792 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T20:56:41.708+09:00 INFO 24792 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T20:56:43.797+09:00 INFO 24792 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T20:56:44.023+09:00 INFO 24792 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T20:56:44.079+09:00 DEBUG 24792 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T20:56:44.627+09:00 INFO 24792 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T20:56:45.620+09:00 WARN 24792 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T20:56:45.653+09:00 INFO 24792 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T20:56:45.863+09:00 DEBUG 24792 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T20:56:46.000+09:00 DEBUG 24792 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T20:56:46.033+09:00 WARN 24792 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T20:56:46.254+09:00 DEBUG 24792 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T20:56:46.367+09:00 DEBUG 24792 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T20:56:46.555+09:00 INFO 24792 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T20:56:46.571+09:00 INFO 24792 --- [main] sw_workbook.spring.Application : Started Application in 10.185 seconds (process running for 11.249) +2025-04-28T21:04:24.826+09:00 INFO 24792 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T21:04:24.827+09:00 INFO 24792 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T21:04:24.827+09:00 DEBUG 24792 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T21:04:24.828+09:00 DEBUG 24792 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T21:04:24.828+09:00 DEBUG 24792 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T21:04:24.830+09:00 DEBUG 24792 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@7acf609d +2025-04-28T21:04:24.830+09:00 DEBUG 24792 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@3993c2be +2025-04-28T21:04:24.831+09:00 DEBUG 24792 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T21:04:24.831+09:00 INFO 24792 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms +2025-04-28T21:04:24.876+09:00 DEBUG 24792 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T21:04:24.879+09:00 DEBUG 24792 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home(Model, Authentication) +2025-04-28T21:04:24.921+09:00 DEBUG 24792 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T21:04:25.455+09:00 DEBUG 24792 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T21:04:37.100+09:00 DEBUG 24792 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T21:04:37.101+09:00 DEBUG 24792 --- [http-nio-8080-exec-3] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T21:04:37.105+09:00 DEBUG 24792 --- [http-nio-8080-exec-3] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T21:04:37.119+09:00 DEBUG 24792 --- [http-nio-8080-exec-3] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T21:04:44.946+09:00 DEBUG 24792 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : HTTP POST https://oauth2.googleapis.com/token +2025-04-28T21:04:44.960+09:00 DEBUG 24792 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T21:04:44.962+09:00 DEBUG 24792 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[4/0Ab_5qlkSLyQPav74Fk3V2fONJT34vURy_E3E4u3oE86FBXiTWp5gCJ6TviT3P6SE7RpD3w], redirect_uri=[http://localhost:8080/login/oauth2/code/google]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T21:04:45.551+09:00 DEBUG 24792 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T21:04:45.553+09:00 DEBUG 24792 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=utf-8" +2025-04-28T21:04:45.633+09:00 DEBUG 24792 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : HTTP GET https://www.googleapis.com/oauth2/v3/userinfo +2025-04-28T21:04:45.634+09:00 DEBUG 24792 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T21:04:45.990+09:00 DEBUG 24792 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T21:04:45.991+09:00 DEBUG 24792 --- [http-nio-8080-exec-6] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T21:04:46.514+09:00 INFO 24792 --- [http-nio-8080-exec-6] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T21:04:46.669+09:00 INFO 24792 --- [http-nio-8080-exec-6] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T21:04:46.678+09:00 DEBUG 24792 --- [http-nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T21:04:46.679+09:00 DEBUG 24792 --- [http-nio-8080-exec-7] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home(Model, Authentication) +2025-04-28T21:04:46.681+09:00 DEBUG 24792 --- [http-nio-8080-exec-7] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T21:04:46.686+09:00 DEBUG 24792 --- [http-nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T21:05:34.915+09:00 INFO 24792 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T21:05:35.339+09:00 INFO 24792 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T21:05:35.348+09:00 INFO 24792 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T21:05:35.351+09:00 INFO 24792 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T21:05:35.363+09:00 INFO 24792 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T21:05:43.385+09:00 INFO 15756 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 15756 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T21:05:43.389+09:00 DEBUG 15756 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T21:05:43.391+09:00 INFO 15756 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T21:05:44.855+09:00 INFO 15756 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T21:05:45.016+09:00 INFO 15756 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 143 ms. Found 3 JPA repository interfaces. +2025-04-28T21:05:45.986+09:00 INFO 15756 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T21:05:46.007+09:00 INFO 15756 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T21:05:46.008+09:00 INFO 15756 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T21:05:46.133+09:00 INFO 15756 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T21:05:46.134+09:00 INFO 15756 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2662 ms +2025-04-28T21:05:46.394+09:00 INFO 15756 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T21:05:46.495+09:00 INFO 15756 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T21:05:46.606+09:00 INFO 15756 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T21:05:47.316+09:00 INFO 15756 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T21:05:47.397+09:00 INFO 15756 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T21:05:47.977+09:00 INFO 15756 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@62360a68 +2025-04-28T21:05:47.981+09:00 INFO 15756 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T21:05:48.080+09:00 WARN 15756 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T21:05:48.130+09:00 INFO 15756 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T21:05:50.460+09:00 INFO 15756 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T21:05:50.676+09:00 INFO 15756 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T21:05:50.733+09:00 DEBUG 15756 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T21:05:51.591+09:00 INFO 15756 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T21:05:52.846+09:00 WARN 15756 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T21:05:53.118+09:00 INFO 15756 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T21:05:53.766+09:00 DEBUG 15756 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T21:05:53.963+09:00 DEBUG 15756 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T21:05:54.015+09:00 WARN 15756 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T21:05:54.320+09:00 DEBUG 15756 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T21:05:54.451+09:00 DEBUG 15756 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T21:05:54.648+09:00 INFO 15756 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T21:05:54.664+09:00 INFO 15756 --- [main] sw_workbook.spring.Application : Started Application in 12.258 seconds (process running for 13.354) +2025-04-28T21:05:57.503+09:00 INFO 15756 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T21:05:57.504+09:00 INFO 15756 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T21:05:57.504+09:00 DEBUG 15756 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T21:05:57.504+09:00 DEBUG 15756 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T21:05:57.505+09:00 DEBUG 15756 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T21:05:57.506+09:00 DEBUG 15756 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@87babea +2025-04-28T21:05:57.506+09:00 DEBUG 15756 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@383fc873 +2025-04-28T21:05:57.507+09:00 DEBUG 15756 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T21:05:57.507+09:00 INFO 15756 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms +2025-04-28T21:05:57.552+09:00 DEBUG 15756 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T21:05:57.555+09:00 DEBUG 15756 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home(Model, Authentication) +2025-04-28T21:05:57.594+09:00 DEBUG 15756 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T21:05:58.084+09:00 DEBUG 15756 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T21:27:13.412+09:00 DEBUG 15756 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T21:27:13.413+09:00 DEBUG 15756 --- [http-nio-8080-exec-5] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home(Model, Authentication) +2025-04-28T21:27:13.416+09:00 DEBUG 15756 --- [http-nio-8080-exec-5] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T21:27:13.419+09:00 DEBUG 15756 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T21:27:16.555+09:00 INFO 15756 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T21:27:17.097+09:00 INFO 15756 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T21:27:17.105+09:00 INFO 15756 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T21:27:17.107+09:00 INFO 15756 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T21:27:17.118+09:00 INFO 15756 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T21:27:23.511+09:00 INFO 23244 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 23244 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T21:27:23.515+09:00 DEBUG 23244 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T21:27:23.518+09:00 INFO 23244 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T21:27:24.950+09:00 INFO 23244 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T21:27:25.120+09:00 INFO 23244 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 153 ms. Found 3 JPA repository interfaces. +2025-04-28T21:27:26.103+09:00 INFO 23244 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T21:27:26.128+09:00 INFO 23244 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T21:27:26.129+09:00 INFO 23244 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T21:27:26.246+09:00 INFO 23244 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T21:27:26.247+09:00 INFO 23244 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2645 ms +2025-04-28T21:27:26.519+09:00 INFO 23244 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T21:27:26.616+09:00 INFO 23244 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T21:27:26.673+09:00 INFO 23244 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T21:27:27.227+09:00 INFO 23244 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T21:27:27.292+09:00 INFO 23244 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T21:27:27.816+09:00 INFO 23244 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@2b90cc1 +2025-04-28T21:27:27.819+09:00 INFO 23244 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T21:27:27.929+09:00 WARN 23244 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T21:27:27.972+09:00 INFO 23244 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T21:27:30.191+09:00 INFO 23244 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T21:27:30.377+09:00 INFO 23244 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T21:27:30.434+09:00 DEBUG 23244 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T21:27:31.021+09:00 INFO 23244 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T21:27:31.971+09:00 WARN 23244 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T21:27:32.009+09:00 INFO 23244 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T21:27:32.217+09:00 DEBUG 23244 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T21:27:32.352+09:00 DEBUG 23244 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T21:27:32.385+09:00 WARN 23244 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T21:27:32.627+09:00 DEBUG 23244 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T21:27:32.744+09:00 DEBUG 23244 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T21:27:32.939+09:00 INFO 23244 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T21:27:32.954+09:00 INFO 23244 --- [main] sw_workbook.spring.Application : Started Application in 10.334 seconds (process running for 11.408) +2025-04-28T21:27:40.962+09:00 INFO 23244 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T21:27:41.369+09:00 INFO 23244 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T21:27:41.378+09:00 INFO 23244 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T21:27:41.381+09:00 INFO 23244 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T21:27:41.396+09:00 INFO 23244 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T21:27:45.624+09:00 INFO 23560 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 23560 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T21:27:45.629+09:00 DEBUG 23560 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T21:27:45.631+09:00 INFO 23560 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T21:27:47.002+09:00 INFO 23560 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T21:27:47.160+09:00 INFO 23560 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 142 ms. Found 3 JPA repository interfaces. +2025-04-28T21:27:48.060+09:00 INFO 23560 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T21:27:48.081+09:00 INFO 23560 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T21:27:48.081+09:00 INFO 23560 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T21:27:48.185+09:00 INFO 23560 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T21:27:48.185+09:00 INFO 23560 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2477 ms +2025-04-28T21:27:48.436+09:00 INFO 23560 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T21:27:48.534+09:00 INFO 23560 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T21:27:48.591+09:00 INFO 23560 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T21:27:49.106+09:00 INFO 23560 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T21:27:49.179+09:00 INFO 23560 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T21:27:49.738+09:00 INFO 23560 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@45ad3cd8 +2025-04-28T21:27:49.742+09:00 INFO 23560 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T21:27:49.831+09:00 WARN 23560 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T21:27:49.875+09:00 INFO 23560 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T21:27:52.055+09:00 INFO 23560 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T21:27:52.236+09:00 INFO 23560 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T21:27:52.294+09:00 DEBUG 23560 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T21:27:52.802+09:00 INFO 23560 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T21:27:53.733+09:00 WARN 23560 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T21:27:53.767+09:00 INFO 23560 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T21:27:54.031+09:00 DEBUG 23560 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T21:27:54.185+09:00 DEBUG 23560 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T21:27:54.225+09:00 WARN 23560 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T21:27:54.516+09:00 DEBUG 23560 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T21:27:54.650+09:00 DEBUG 23560 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T21:27:54.859+09:00 INFO 23560 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T21:27:54.875+09:00 INFO 23560 --- [main] sw_workbook.spring.Application : Started Application in 10.183 seconds (process running for 11.256) +2025-04-28T21:28:51.365+09:00 INFO 23560 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T21:28:51.365+09:00 INFO 23560 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T21:28:51.365+09:00 DEBUG 23560 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T21:28:51.365+09:00 DEBUG 23560 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T21:28:51.366+09:00 DEBUG 23560 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T21:28:51.367+09:00 DEBUG 23560 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@6e0fe9cd +2025-04-28T21:28:51.368+09:00 DEBUG 23560 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@e0895b3 +2025-04-28T21:28:51.368+09:00 DEBUG 23560 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T21:28:51.368+09:00 INFO 23560 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms +2025-04-28T21:28:51.412+09:00 DEBUG 23560 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T21:28:51.416+09:00 DEBUG 23560 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home() +2025-04-28T21:28:51.447+09:00 DEBUG 23560 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T21:28:51.934+09:00 DEBUG 23560 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:10:03.005+09:00 DEBUG 23560 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T22:10:03.006+09:00 DEBUG 23560 --- [http-nio-8080-exec-5] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T22:10:03.016+09:00 DEBUG 23560 --- [http-nio-8080-exec-5] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:10:03.035+09:00 DEBUG 23560 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:10:12.180+09:00 DEBUG 23560 --- [http-nio-8080-exec-8] o.s.web.client.RestTemplate : HTTP POST https://oauth2.googleapis.com/token +2025-04-28T22:10:12.194+09:00 DEBUG 23560 --- [http-nio-8080-exec-8] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T22:10:12.195+09:00 DEBUG 23560 --- [http-nio-8080-exec-8] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[4/0Ab_5qlnoi_Ne1STc1mkcRfcR7gKspvSUJ7MuzE-VTGAQqA3sW9B43_dDQ28z-KnpsI5srg], redirect_uri=[http://localhost:8080/login/oauth2/code/google]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T22:10:12.605+09:00 DEBUG 23560 --- [http-nio-8080-exec-8] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T22:10:12.607+09:00 DEBUG 23560 --- [http-nio-8080-exec-8] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=utf-8" +2025-04-28T22:10:12.681+09:00 DEBUG 23560 --- [http-nio-8080-exec-8] o.s.web.client.RestTemplate : HTTP GET https://www.googleapis.com/oauth2/v3/userinfo +2025-04-28T22:10:12.683+09:00 DEBUG 23560 --- [http-nio-8080-exec-8] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T22:10:13.010+09:00 DEBUG 23560 --- [http-nio-8080-exec-8] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T22:10:13.012+09:00 DEBUG 23560 --- [http-nio-8080-exec-8] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T22:10:13.555+09:00 INFO 23560 --- [http-nio-8080-exec-8] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T22:10:13.721+09:00 INFO 23560 --- [http-nio-8080-exec-8] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T22:10:13.731+09:00 DEBUG 23560 --- [http-nio-8080-exec-9] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T22:10:13.732+09:00 DEBUG 23560 --- [http-nio-8080-exec-9] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home() +2025-04-28T22:10:13.734+09:00 DEBUG 23560 --- [http-nio-8080-exec-9] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:10:13.737+09:00 DEBUG 23560 --- [http-nio-8080-exec-9] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:13:10.405+09:00 INFO 23560 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T22:13:10.812+09:00 INFO 23560 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T22:13:10.831+09:00 INFO 23560 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T22:13:10.835+09:00 INFO 23560 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T22:13:10.845+09:00 INFO 23560 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T22:13:17.580+09:00 INFO 18864 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 18864 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T22:13:17.584+09:00 DEBUG 18864 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T22:13:17.586+09:00 INFO 18864 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T22:13:18.920+09:00 INFO 18864 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T22:13:19.092+09:00 INFO 18864 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 156 ms. Found 3 JPA repository interfaces. +2025-04-28T22:13:20.069+09:00 INFO 18864 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T22:13:20.093+09:00 INFO 18864 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T22:13:20.094+09:00 INFO 18864 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T22:13:20.218+09:00 INFO 18864 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T22:13:20.219+09:00 INFO 18864 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2562 ms +2025-04-28T22:13:20.484+09:00 INFO 18864 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T22:13:20.592+09:00 INFO 18864 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T22:13:20.661+09:00 INFO 18864 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T22:13:21.278+09:00 INFO 18864 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T22:13:21.351+09:00 INFO 18864 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T22:13:21.897+09:00 INFO 18864 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@4d8f2cfd +2025-04-28T22:13:21.901+09:00 INFO 18864 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T22:13:22.006+09:00 WARN 18864 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T22:13:22.057+09:00 INFO 18864 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T22:13:24.329+09:00 INFO 18864 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T22:13:24.541+09:00 INFO 18864 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T22:13:24.596+09:00 DEBUG 18864 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T22:13:25.153+09:00 INFO 18864 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T22:13:26.206+09:00 WARN 18864 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T22:13:26.242+09:00 INFO 18864 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T22:13:26.491+09:00 DEBUG 18864 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T22:13:26.637+09:00 DEBUG 18864 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T22:13:26.675+09:00 WARN 18864 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T22:13:26.911+09:00 DEBUG 18864 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T22:13:27.043+09:00 DEBUG 18864 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T22:13:27.244+09:00 INFO 18864 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T22:13:27.258+09:00 INFO 18864 --- [main] sw_workbook.spring.Application : Started Application in 10.649 seconds (process running for 11.751) +2025-04-28T22:13:27.856+09:00 INFO 18864 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T22:13:27.856+09:00 INFO 18864 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T22:13:27.857+09:00 DEBUG 18864 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T22:13:27.857+09:00 DEBUG 18864 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T22:13:27.857+09:00 DEBUG 18864 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T22:13:27.858+09:00 DEBUG 18864 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@3c8cdf92 +2025-04-28T22:13:27.859+09:00 DEBUG 18864 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@7169c184 +2025-04-28T22:13:27.860+09:00 DEBUG 18864 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T22:13:27.860+09:00 INFO 18864 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms +2025-04-28T22:13:27.904+09:00 DEBUG 18864 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T22:13:27.907+09:00 DEBUG 18864 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T22:13:27.941+09:00 DEBUG 18864 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:13:28.414+09:00 DEBUG 18864 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:13:28.502+09:00 DEBUG 18864 --- [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : GET "/favicon.ico", parameters={} +2025-04-28T22:13:28.505+09:00 DEBUG 18864 --- [http-nio-8080-exec-2] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped to ResourceHttpRequestHandler [classpath [META-INF/resources/], classpath [resources/], classpath [static/], classpath [public/], ServletContext [/]] +2025-04-28T22:13:28.510+09:00 DEBUG 18864 --- [http-nio-8080-exec-2] o.s.w.s.r.ResourceHttpRequestHandler : Resource not found +2025-04-28T22:13:28.513+09:00 DEBUG 18864 --- [http-nio-8080-exec-2] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler sw_workbook.spring.apiPayload.code.exception.handler.GlobalExceptionHandler#handleUnhandledException(Exception) +2025-04-28T22:13:28.513+09:00 ERROR 18864 --- [http-nio-8080-exec-2] s.s.a.c.e.h.GlobalExceptionHandler : [Unhandled Exception] + +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at sw_workbook.spring.config.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:33) ~[main/:na] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:198) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238) ~[spring-security-config-6.4.3.jar:6.4.3] + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na] + +2025-04-28T22:13:28.624+09:00 DEBUG 18864 --- [http-nio-8080-exec-2] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json;q=0.8', given [image/avif, image/webp, image/apng, image/svg+xml, image/*, */*;q=0.8] and supported [application/json, application/*+json] +2025-04-28T22:13:28.630+09:00 DEBUG 18864 --- [http-nio-8080-exec-2] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [sw_workbook.spring.apiPayload.ApiResponse@3f44c1c6] +2025-04-28T22:13:28.666+09:00 DEBUG 18864 --- [http-nio-8080-exec-2] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico.] +2025-04-28T22:13:28.667+09:00 DEBUG 18864 --- [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Completed 500 INTERNAL_SERVER_ERROR +2025-04-28T22:13:37.793+09:00 DEBUG 18864 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : HTTP POST https://oauth2.googleapis.com/token +2025-04-28T22:13:37.809+09:00 DEBUG 18864 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T22:13:37.810+09:00 DEBUG 18864 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[4/0Ab_5qlmeLjgHLzjPuOAQA394HMPr942TfoOPmmzIttz0l0QE9LrvcGz0bh90mIBs_ykRaA], redirect_uri=[http://localhost:8080/login/oauth2/code/google]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T22:13:38.238+09:00 DEBUG 18864 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T22:13:38.241+09:00 DEBUG 18864 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=utf-8" +2025-04-28T22:13:38.293+09:00 DEBUG 18864 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : HTTP GET https://www.googleapis.com/oauth2/v3/userinfo +2025-04-28T22:13:38.294+09:00 DEBUG 18864 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T22:13:38.638+09:00 DEBUG 18864 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T22:13:38.639+09:00 DEBUG 18864 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T22:13:39.155+09:00 INFO 18864 --- [http-nio-8080-exec-4] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T22:13:39.278+09:00 INFO 18864 --- [http-nio-8080-exec-4] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T22:13:39.287+09:00 DEBUG 18864 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T22:13:39.288+09:00 DEBUG 18864 --- [http-nio-8080-exec-5] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home() +2025-04-28T22:13:39.290+09:00 DEBUG 18864 --- [http-nio-8080-exec-5] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:13:39.345+09:00 DEBUG 18864 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:13:39.497+09:00 DEBUG 18864 --- [http-nio-8080-exec-6] o.s.web.servlet.DispatcherServlet : GET "/favicon.ico", parameters={} +2025-04-28T22:13:39.498+09:00 DEBUG 18864 --- [http-nio-8080-exec-6] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped to ResourceHttpRequestHandler [classpath [META-INF/resources/], classpath [resources/], classpath [static/], classpath [public/], ServletContext [/]] +2025-04-28T22:13:39.504+09:00 DEBUG 18864 --- [http-nio-8080-exec-6] o.s.w.s.r.ResourceHttpRequestHandler : Resource not found +2025-04-28T22:13:39.506+09:00 DEBUG 18864 --- [http-nio-8080-exec-6] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler sw_workbook.spring.apiPayload.code.exception.handler.GlobalExceptionHandler#handleUnhandledException(Exception) +2025-04-28T22:13:39.506+09:00 ERROR 18864 --- [http-nio-8080-exec-6] s.s.a.c.e.h.GlobalExceptionHandler : [Unhandled Exception] + +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at sw_workbook.spring.config.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:33) ~[main/:na] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:198) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238) ~[spring-security-config-6.4.3.jar:6.4.3] + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na] + +2025-04-28T22:13:39.510+09:00 DEBUG 18864 --- [http-nio-8080-exec-6] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json;q=0.8', given [image/avif, image/webp, image/apng, image/svg+xml, image/*, */*;q=0.8] and supported [application/json, application/*+json] +2025-04-28T22:13:39.510+09:00 DEBUG 18864 --- [http-nio-8080-exec-6] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [sw_workbook.spring.apiPayload.ApiResponse@761f73c] +2025-04-28T22:13:39.512+09:00 DEBUG 18864 --- [http-nio-8080-exec-6] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico.] +2025-04-28T22:13:39.512+09:00 DEBUG 18864 --- [http-nio-8080-exec-6] o.s.web.servlet.DispatcherServlet : Completed 500 INTERNAL_SERVER_ERROR +2025-04-28T22:14:07.033+09:00 DEBUG 18864 --- [http-nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T22:14:07.033+09:00 DEBUG 18864 --- [http-nio-8080-exec-7] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T22:14:07.035+09:00 DEBUG 18864 --- [http-nio-8080-exec-7] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:14:07.039+09:00 DEBUG 18864 --- [http-nio-8080-exec-7] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:14:07.125+09:00 DEBUG 18864 --- [http-nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : GET "/favicon.ico", parameters={} +2025-04-28T22:14:07.126+09:00 DEBUG 18864 --- [http-nio-8080-exec-8] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped to ResourceHttpRequestHandler [classpath [META-INF/resources/], classpath [resources/], classpath [static/], classpath [public/], ServletContext [/]] +2025-04-28T22:14:07.129+09:00 DEBUG 18864 --- [http-nio-8080-exec-8] o.s.w.s.r.ResourceHttpRequestHandler : Resource not found +2025-04-28T22:14:07.129+09:00 DEBUG 18864 --- [http-nio-8080-exec-8] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler sw_workbook.spring.apiPayload.code.exception.handler.GlobalExceptionHandler#handleUnhandledException(Exception) +2025-04-28T22:14:07.129+09:00 ERROR 18864 --- [http-nio-8080-exec-8] s.s.a.c.e.h.GlobalExceptionHandler : [Unhandled Exception] + +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at sw_workbook.spring.config.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:33) ~[main/:na] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:198) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238) ~[spring-security-config-6.4.3.jar:6.4.3] + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na] + +2025-04-28T22:14:07.132+09:00 DEBUG 18864 --- [http-nio-8080-exec-8] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json;q=0.8', given [image/avif, image/webp, image/apng, image/svg+xml, image/*, */*;q=0.8] and supported [application/json, application/*+json] +2025-04-28T22:14:07.133+09:00 DEBUG 18864 --- [http-nio-8080-exec-8] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [sw_workbook.spring.apiPayload.ApiResponse@4207a287] +2025-04-28T22:14:07.134+09:00 DEBUG 18864 --- [http-nio-8080-exec-8] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico.] +2025-04-28T22:14:07.134+09:00 DEBUG 18864 --- [http-nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Completed 500 INTERNAL_SERVER_ERROR +2025-04-28T22:14:08.227+09:00 DEBUG 18864 --- [http-nio-8080-exec-10] o.s.web.client.RestTemplate : HTTP POST https://kauth.kakao.com/oauth/token +2025-04-28T22:14:08.227+09:00 DEBUG 18864 --- [http-nio-8080-exec-10] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T22:14:08.228+09:00 DEBUG 18864 --- [http-nio-8080-exec-10] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[n09zm5wN2swjsf8QmVquLZw3iYKBUDkXTZ6Zz9uKvixuSZICmnu7YgAAAAQKFxZiAAABlnyIlEOxu3fh8M0xkQ], redirect_uri=[http://localhost:8080/login/oauth2/code/kakao], client_id=[5eea303692395e4d36e5eff8b6133ea6], client_secret=[LxA67TvEovut6iCUEeOpl6Ti1OJaG4iI]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T22:14:08.440+09:00 DEBUG 18864 --- [http-nio-8080-exec-10] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T22:14:08.441+09:00 DEBUG 18864 --- [http-nio-8080-exec-10] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=UTF-8" +2025-04-28T22:14:08.443+09:00 DEBUG 18864 --- [http-nio-8080-exec-10] o.s.web.client.RestTemplate : HTTP GET https://kapi.kakao.com/v2/user/me +2025-04-28T22:14:08.443+09:00 DEBUG 18864 --- [http-nio-8080-exec-10] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T22:14:08.634+09:00 DEBUG 18864 --- [http-nio-8080-exec-10] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T22:14:08.635+09:00 DEBUG 18864 --- [http-nio-8080-exec-10] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T22:14:08.846+09:00 INFO 18864 --- [http-nio-8080-exec-10] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T22:14:08.867+09:00 INFO 18864 --- [http-nio-8080-exec-10] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T22:14:08.874+09:00 DEBUG 18864 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T22:14:08.874+09:00 DEBUG 18864 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home() +2025-04-28T22:14:08.875+09:00 DEBUG 18864 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:14:08.877+09:00 DEBUG 18864 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:14:08.939+09:00 DEBUG 18864 --- [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : GET "/favicon.ico", parameters={} +2025-04-28T22:14:08.940+09:00 DEBUG 18864 --- [http-nio-8080-exec-2] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped to ResourceHttpRequestHandler [classpath [META-INF/resources/], classpath [resources/], classpath [static/], classpath [public/], ServletContext [/]] +2025-04-28T22:14:08.941+09:00 DEBUG 18864 --- [http-nio-8080-exec-2] o.s.w.s.r.ResourceHttpRequestHandler : Resource not found +2025-04-28T22:14:08.942+09:00 DEBUG 18864 --- [http-nio-8080-exec-2] .m.m.a.ExceptionHandlerExceptionResolver : Using @ExceptionHandler sw_workbook.spring.apiPayload.code.exception.handler.GlobalExceptionHandler#handleUnhandledException(Exception) +2025-04-28T22:14:08.942+09:00 ERROR 18864 --- [http-nio-8080-exec-2] s.s.a.c.e.h.GlobalExceptionHandler : [Unhandled Exception] + +org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico. + at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:978) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.2.3.jar:6.2.3] + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.36.jar:6.0] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:365) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:101) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at sw_workbook.spring.config.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:33) ~[main/:na] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter.doFilterInternal(OAuth2AuthorizationRequestRedirectFilter.java:198) ~[spring-security-oauth2-client-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.4.3.jar:6.4.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:243) ~[spring-webmvc-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:238) ~[spring-security-config-6.4.3.jar:6.4.3] + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.3.jar:6.2.3] + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.3.jar:6.2.3] + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.36.jar:10.1.36] + at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na] + +2025-04-28T22:14:08.944+09:00 DEBUG 18864 --- [http-nio-8080-exec-2] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json;q=0.8', given [image/avif, image/webp, image/apng, image/svg+xml, image/*, */*;q=0.8] and supported [application/json, application/*+json] +2025-04-28T22:14:08.945+09:00 DEBUG 18864 --- [http-nio-8080-exec-2] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [sw_workbook.spring.apiPayload.ApiResponse@2e366265] +2025-04-28T22:14:08.946+09:00 DEBUG 18864 --- [http-nio-8080-exec-2] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico.] +2025-04-28T22:14:08.946+09:00 DEBUG 18864 --- [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Completed 500 INTERNAL_SERVER_ERROR +2025-04-28T22:14:23.939+09:00 INFO 18864 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T22:14:24.378+09:00 INFO 18864 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T22:14:24.386+09:00 INFO 18864 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T22:14:24.388+09:00 INFO 18864 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T22:14:24.411+09:00 INFO 18864 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T22:25:24.903+09:00 INFO 23956 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 23956 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T22:25:24.907+09:00 DEBUG 23956 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T22:25:24.909+09:00 INFO 23956 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T22:25:26.322+09:00 INFO 23956 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T22:25:26.480+09:00 INFO 23956 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 141 ms. Found 3 JPA repository interfaces. +2025-04-28T22:25:27.365+09:00 INFO 23956 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T22:25:27.385+09:00 INFO 23956 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T22:25:27.386+09:00 INFO 23956 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T22:25:27.494+09:00 INFO 23956 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T22:25:27.495+09:00 INFO 23956 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2515 ms +2025-04-28T22:25:27.761+09:00 INFO 23956 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T22:25:27.856+09:00 INFO 23956 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T22:25:27.918+09:00 INFO 23956 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T22:25:28.441+09:00 INFO 23956 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T22:25:28.495+09:00 INFO 23956 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T22:25:28.995+09:00 INFO 23956 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@6d4502ca +2025-04-28T22:25:28.999+09:00 INFO 23956 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T22:25:29.085+09:00 WARN 23956 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T22:25:29.118+09:00 INFO 23956 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T22:25:31.268+09:00 INFO 23956 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T22:25:31.445+09:00 INFO 23956 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T22:25:31.497+09:00 DEBUG 23956 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T22:25:32.007+09:00 INFO 23956 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T22:25:32.926+09:00 WARN 23956 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T22:25:32.959+09:00 INFO 23956 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T22:25:33.170+09:00 DEBUG 23956 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T22:25:33.310+09:00 DEBUG 23956 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T22:25:33.346+09:00 WARN 23956 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T22:25:33.561+09:00 DEBUG 23956 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T22:25:33.696+09:00 DEBUG 23956 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T22:25:33.899+09:00 INFO 23956 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T22:25:33.919+09:00 INFO 23956 --- [main] sw_workbook.spring.Application : Started Application in 9.85 seconds (process running for 10.887) +2025-04-28T22:25:45.110+09:00 INFO 23956 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T22:25:45.111+09:00 INFO 23956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T22:25:45.112+09:00 DEBUG 23956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T22:25:45.112+09:00 DEBUG 23956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T22:25:45.112+09:00 DEBUG 23956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T22:25:45.114+09:00 DEBUG 23956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@3c8cdf92 +2025-04-28T22:25:45.114+09:00 DEBUG 23956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@7169c184 +2025-04-28T22:25:45.115+09:00 DEBUG 23956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T22:25:45.115+09:00 INFO 23956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms +2025-04-28T22:25:45.159+09:00 DEBUG 23956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T22:25:45.161+09:00 DEBUG 23956 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T22:25:45.194+09:00 DEBUG 23956 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:25:45.650+09:00 DEBUG 23956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:26:22.498+09:00 DEBUG 23956 --- [http-nio-8080-exec-4] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T22:26:22.499+09:00 DEBUG 23956 --- [http-nio-8080-exec-4] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T22:26:22.501+09:00 DEBUG 23956 --- [http-nio-8080-exec-4] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:26:22.505+09:00 DEBUG 23956 --- [http-nio-8080-exec-4] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:26:32.036+09:00 DEBUG 23956 --- [http-nio-8080-exec-6] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T22:26:32.037+09:00 DEBUG 23956 --- [http-nio-8080-exec-6] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T22:26:32.038+09:00 DEBUG 23956 --- [http-nio-8080-exec-6] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:26:32.041+09:00 DEBUG 23956 --- [http-nio-8080-exec-6] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:27:01.595+09:00 DEBUG 23956 --- [http-nio-8080-exec-9] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T22:27:01.596+09:00 DEBUG 23956 --- [http-nio-8080-exec-9] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T22:27:01.599+09:00 DEBUG 23956 --- [http-nio-8080-exec-9] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:27:01.604+09:00 DEBUG 23956 --- [http-nio-8080-exec-9] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:27:06.518+09:00 DEBUG 23956 --- [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T22:27:06.519+09:00 DEBUG 23956 --- [http-nio-8080-exec-2] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T22:27:06.521+09:00 DEBUG 23956 --- [http-nio-8080-exec-2] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:27:06.524+09:00 DEBUG 23956 --- [http-nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:27:12.548+09:00 DEBUG 23956 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : HTTP POST https://oauth2.googleapis.com/token +2025-04-28T22:27:12.561+09:00 DEBUG 23956 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T22:27:12.562+09:00 DEBUG 23956 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[4/0Ab_5qlkQeH2_SHmiJRgcQq3WGvpbttOllaJMYFVAWmE2b2OJ9wDPGRTNF5byHUN8O1jZuw], redirect_uri=[http://localhost:8080/login/oauth2/code/google]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T22:27:12.869+09:00 DEBUG 23956 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T22:27:12.871+09:00 DEBUG 23956 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=utf-8" +2025-04-28T22:27:12.941+09:00 DEBUG 23956 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : HTTP GET https://www.googleapis.com/oauth2/v3/userinfo +2025-04-28T22:27:12.942+09:00 DEBUG 23956 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T22:27:13.145+09:00 DEBUG 23956 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T22:27:13.146+09:00 DEBUG 23956 --- [http-nio-8080-exec-5] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T22:27:13.693+09:00 INFO 23956 --- [http-nio-8080-exec-5] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T22:27:13.851+09:00 INFO 23956 --- [http-nio-8080-exec-5] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T22:27:13.859+09:00 DEBUG 23956 --- [http-nio-8080-exec-6] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T22:27:13.860+09:00 DEBUG 23956 --- [http-nio-8080-exec-6] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home() +2025-04-28T22:27:13.863+09:00 DEBUG 23956 --- [http-nio-8080-exec-6] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:27:13.920+09:00 DEBUG 23956 --- [http-nio-8080-exec-6] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:27:17.227+09:00 DEBUG 23956 --- [http-nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T22:27:17.228+09:00 DEBUG 23956 --- [http-nio-8080-exec-8] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T22:27:17.230+09:00 DEBUG 23956 --- [http-nio-8080-exec-8] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:27:17.233+09:00 DEBUG 23956 --- [http-nio-8080-exec-8] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:28:21.794+09:00 INFO 23956 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T22:28:22.189+09:00 INFO 23956 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T22:28:22.197+09:00 INFO 23956 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T22:28:22.199+09:00 INFO 23956 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T22:28:22.210+09:00 INFO 23956 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T22:28:26.332+09:00 INFO 8612 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 8612 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T22:28:26.337+09:00 DEBUG 8612 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T22:28:26.340+09:00 INFO 8612 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T22:28:27.690+09:00 INFO 8612 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T22:28:27.837+09:00 INFO 8612 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 132 ms. Found 3 JPA repository interfaces. +2025-04-28T22:28:28.703+09:00 INFO 8612 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T22:28:28.725+09:00 INFO 8612 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T22:28:28.725+09:00 INFO 8612 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T22:28:28.837+09:00 INFO 8612 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T22:28:28.837+09:00 INFO 8612 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2424 ms +2025-04-28T22:28:29.110+09:00 INFO 8612 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T22:28:29.223+09:00 INFO 8612 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T22:28:29.294+09:00 INFO 8612 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T22:28:29.882+09:00 INFO 8612 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T22:28:29.949+09:00 INFO 8612 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T22:28:30.472+09:00 INFO 8612 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@2b90cc1 +2025-04-28T22:28:30.476+09:00 INFO 8612 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T22:28:30.569+09:00 WARN 8612 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T22:28:30.607+09:00 INFO 8612 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T22:28:32.629+09:00 INFO 8612 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T22:28:32.805+09:00 INFO 8612 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T22:28:32.857+09:00 DEBUG 8612 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T22:28:33.411+09:00 INFO 8612 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T22:28:34.456+09:00 WARN 8612 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T22:28:34.489+09:00 INFO 8612 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T22:28:34.736+09:00 DEBUG 8612 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T22:28:34.888+09:00 DEBUG 8612 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T22:28:34.929+09:00 WARN 8612 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T22:28:35.159+09:00 DEBUG 8612 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T22:28:35.293+09:00 DEBUG 8612 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T22:28:35.481+09:00 INFO 8612 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T22:28:35.504+09:00 INFO 8612 --- [main] sw_workbook.spring.Application : Started Application in 10.057 seconds (process running for 11.131) +2025-04-28T22:28:38.945+09:00 INFO 8612 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T22:28:38.946+09:00 INFO 8612 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T22:28:38.946+09:00 DEBUG 8612 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T22:28:38.946+09:00 DEBUG 8612 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T22:28:38.946+09:00 DEBUG 8612 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T22:28:38.948+09:00 DEBUG 8612 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@6f45a719 +2025-04-28T22:28:38.948+09:00 DEBUG 8612 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@29a920fe +2025-04-28T22:28:38.949+09:00 DEBUG 8612 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T22:28:38.949+09:00 INFO 8612 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms +2025-04-28T22:28:38.991+09:00 DEBUG 8612 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T22:28:38.993+09:00 DEBUG 8612 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T22:28:39.029+09:00 DEBUG 8612 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:28:39.485+09:00 DEBUG 8612 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:32:05.274+09:00 INFO 8612 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T22:32:05.668+09:00 INFO 8612 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T22:32:05.677+09:00 INFO 8612 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T22:32:05.679+09:00 INFO 8612 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T22:32:05.692+09:00 INFO 8612 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T22:32:09.718+09:00 INFO 11352 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 11352 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T22:32:09.723+09:00 DEBUG 11352 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T22:32:09.725+09:00 INFO 11352 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T22:32:11.167+09:00 INFO 11352 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T22:32:11.338+09:00 INFO 11352 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 153 ms. Found 3 JPA repository interfaces. +2025-04-28T22:32:12.244+09:00 INFO 11352 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T22:32:12.267+09:00 INFO 11352 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T22:32:12.268+09:00 INFO 11352 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T22:32:12.382+09:00 INFO 11352 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T22:32:12.383+09:00 INFO 11352 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2581 ms +2025-04-28T22:32:12.637+09:00 INFO 11352 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T22:32:12.736+09:00 INFO 11352 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T22:32:12.801+09:00 INFO 11352 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T22:32:13.357+09:00 INFO 11352 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T22:32:13.441+09:00 INFO 11352 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T22:32:13.949+09:00 INFO 11352 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@1b98355f +2025-04-28T22:32:13.954+09:00 INFO 11352 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T22:32:14.052+09:00 WARN 11352 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T22:32:14.095+09:00 INFO 11352 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T22:32:16.394+09:00 INFO 11352 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T22:32:16.596+09:00 INFO 11352 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T22:32:16.649+09:00 DEBUG 11352 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T22:32:17.193+09:00 INFO 11352 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T22:32:18.137+09:00 WARN 11352 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T22:32:18.170+09:00 INFO 11352 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T22:32:18.387+09:00 DEBUG 11352 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T22:32:18.551+09:00 DEBUG 11352 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T22:32:18.621+09:00 WARN 11352 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T22:32:18.880+09:00 DEBUG 11352 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T22:32:19.031+09:00 DEBUG 11352 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T22:32:19.257+09:00 INFO 11352 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T22:32:19.272+09:00 INFO 11352 --- [main] sw_workbook.spring.Application : Started Application in 10.5 seconds (process running for 11.532) +2025-04-28T22:32:20.034+09:00 INFO 11352 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T22:32:20.034+09:00 INFO 11352 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T22:32:20.034+09:00 DEBUG 11352 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T22:32:20.035+09:00 DEBUG 11352 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T22:32:20.035+09:00 DEBUG 11352 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T22:32:20.036+09:00 DEBUG 11352 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@29a920fe +2025-04-28T22:32:20.037+09:00 DEBUG 11352 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@3f1870bc +2025-04-28T22:32:20.037+09:00 DEBUG 11352 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T22:32:20.038+09:00 INFO 11352 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms +2025-04-28T22:32:20.084+09:00 DEBUG 11352 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T22:32:20.087+09:00 DEBUG 11352 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T22:32:20.125+09:00 DEBUG 11352 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:32:20.610+09:00 DEBUG 11352 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:32:30.160+09:00 INFO 11352 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T22:32:30.542+09:00 INFO 11352 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T22:32:30.552+09:00 INFO 11352 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T22:32:30.554+09:00 INFO 11352 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T22:32:30.565+09:00 INFO 11352 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T22:32:34.655+09:00 INFO 22748 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 22748 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T22:32:34.664+09:00 DEBUG 22748 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T22:32:34.665+09:00 INFO 22748 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T22:32:36.051+09:00 INFO 22748 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T22:32:36.209+09:00 INFO 22748 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 142 ms. Found 3 JPA repository interfaces. +2025-04-28T22:32:37.144+09:00 INFO 22748 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T22:32:37.171+09:00 INFO 22748 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T22:32:37.172+09:00 INFO 22748 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T22:32:37.295+09:00 INFO 22748 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T22:32:37.296+09:00 INFO 22748 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2547 ms +2025-04-28T22:32:37.591+09:00 INFO 22748 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T22:32:37.706+09:00 INFO 22748 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T22:32:37.782+09:00 INFO 22748 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T22:32:38.328+09:00 INFO 22748 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T22:32:38.391+09:00 INFO 22748 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T22:32:38.878+09:00 INFO 22748 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@6d4502ca +2025-04-28T22:32:38.881+09:00 INFO 22748 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T22:32:38.989+09:00 WARN 22748 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T22:32:39.027+09:00 INFO 22748 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T22:32:41.176+09:00 INFO 22748 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T22:32:41.367+09:00 INFO 22748 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T22:32:41.425+09:00 DEBUG 22748 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T22:32:41.986+09:00 INFO 22748 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T22:32:42.968+09:00 WARN 22748 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T22:32:43.008+09:00 INFO 22748 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T22:32:43.263+09:00 DEBUG 22748 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T22:32:43.405+09:00 DEBUG 22748 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T22:32:43.449+09:00 WARN 22748 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T22:32:43.690+09:00 DEBUG 22748 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T22:32:43.816+09:00 DEBUG 22748 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T22:32:44.028+09:00 INFO 22748 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T22:32:44.053+09:00 INFO 22748 --- [main] sw_workbook.spring.Application : Started Application in 10.345 seconds (process running for 11.425) +2025-04-28T22:32:48.452+09:00 INFO 22748 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T22:32:48.452+09:00 INFO 22748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T22:32:48.453+09:00 DEBUG 22748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T22:32:48.453+09:00 DEBUG 22748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T22:32:48.453+09:00 DEBUG 22748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T22:32:48.454+09:00 DEBUG 22748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@3c8cdf92 +2025-04-28T22:32:48.455+09:00 DEBUG 22748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@7169c184 +2025-04-28T22:32:48.455+09:00 DEBUG 22748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T22:32:48.456+09:00 INFO 22748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms +2025-04-28T22:32:48.501+09:00 DEBUG 22748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T22:32:48.504+09:00 DEBUG 22748 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T22:32:48.540+09:00 DEBUG 22748 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:32:49.016+09:00 DEBUG 22748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:34:09.617+09:00 INFO 22748 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T22:34:10.017+09:00 INFO 22748 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T22:34:10.024+09:00 INFO 22748 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T22:34:10.027+09:00 INFO 22748 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T22:34:10.037+09:00 INFO 22748 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T22:34:14.187+09:00 INFO 3956 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 3956 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T22:34:14.192+09:00 DEBUG 3956 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T22:34:14.195+09:00 INFO 3956 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T22:34:15.519+09:00 INFO 3956 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T22:34:15.694+09:00 INFO 3956 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 157 ms. Found 3 JPA repository interfaces. +2025-04-28T22:34:16.726+09:00 INFO 3956 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T22:34:16.752+09:00 INFO 3956 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T22:34:16.753+09:00 INFO 3956 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T22:34:16.865+09:00 INFO 3956 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T22:34:16.866+09:00 INFO 3956 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2597 ms +2025-04-28T22:34:17.149+09:00 INFO 3956 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T22:34:17.257+09:00 INFO 3956 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T22:34:17.321+09:00 INFO 3956 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T22:34:17.892+09:00 INFO 3956 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T22:34:17.950+09:00 INFO 3956 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T22:34:18.423+09:00 INFO 3956 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@62360a68 +2025-04-28T22:34:18.427+09:00 INFO 3956 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T22:34:18.519+09:00 WARN 3956 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T22:34:18.558+09:00 INFO 3956 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T22:34:20.671+09:00 INFO 3956 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T22:34:20.867+09:00 INFO 3956 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T22:34:20.930+09:00 DEBUG 3956 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T22:34:21.451+09:00 INFO 3956 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T22:34:22.483+09:00 WARN 3956 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T22:34:22.520+09:00 INFO 3956 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T22:34:22.746+09:00 DEBUG 3956 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T22:34:22.888+09:00 DEBUG 3956 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T22:34:22.930+09:00 WARN 3956 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T22:34:23.190+09:00 DEBUG 3956 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T22:34:23.322+09:00 DEBUG 3956 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T22:34:23.519+09:00 INFO 3956 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T22:34:23.536+09:00 INFO 3956 --- [main] sw_workbook.spring.Application : Started Application in 10.282 seconds (process running for 11.333) +2025-04-28T22:34:25.437+09:00 INFO 3956 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T22:34:25.438+09:00 INFO 3956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T22:34:25.438+09:00 DEBUG 3956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T22:34:25.438+09:00 DEBUG 3956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T22:34:25.439+09:00 DEBUG 3956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T22:34:25.440+09:00 DEBUG 3956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@87babea +2025-04-28T22:34:25.441+09:00 DEBUG 3956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@383fc873 +2025-04-28T22:34:25.442+09:00 DEBUG 3956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T22:34:25.442+09:00 INFO 3956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms +2025-04-28T22:34:25.485+09:00 DEBUG 3956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T22:34:25.487+09:00 DEBUG 3956 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T22:34:25.521+09:00 DEBUG 3956 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:34:26.008+09:00 DEBUG 3956 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:39:34.511+09:00 INFO 3956 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T22:39:34.883+09:00 INFO 3956 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T22:39:34.890+09:00 INFO 3956 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T22:39:34.893+09:00 INFO 3956 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T22:39:34.906+09:00 INFO 3956 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T22:39:38.957+09:00 INFO 24832 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 24832 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T22:39:38.963+09:00 DEBUG 24832 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T22:39:38.965+09:00 INFO 24832 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T22:39:40.332+09:00 INFO 24832 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T22:39:40.488+09:00 INFO 24832 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 139 ms. Found 3 JPA repository interfaces. +2025-04-28T22:39:41.464+09:00 INFO 24832 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T22:39:41.488+09:00 INFO 24832 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T22:39:41.489+09:00 INFO 24832 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T22:39:41.598+09:00 INFO 24832 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T22:39:41.599+09:00 INFO 24832 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2554 ms +2025-04-28T22:39:41.872+09:00 INFO 24832 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T22:39:41.974+09:00 INFO 24832 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T22:39:42.044+09:00 INFO 24832 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T22:39:42.622+09:00 INFO 24832 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T22:39:42.686+09:00 INFO 24832 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T22:39:43.216+09:00 INFO 24832 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@38ebc866 +2025-04-28T22:39:43.220+09:00 INFO 24832 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T22:39:43.322+09:00 WARN 24832 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T22:39:43.372+09:00 INFO 24832 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T22:39:45.486+09:00 INFO 24832 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T22:39:45.669+09:00 INFO 24832 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T22:39:45.725+09:00 DEBUG 24832 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T22:39:46.233+09:00 INFO 24832 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T22:39:47.229+09:00 WARN 24832 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T22:39:47.269+09:00 INFO 24832 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T22:39:47.502+09:00 DEBUG 24832 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T22:39:47.648+09:00 DEBUG 24832 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T22:39:47.687+09:00 WARN 24832 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T22:39:47.939+09:00 DEBUG 24832 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T22:39:48.054+09:00 DEBUG 24832 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T22:39:48.260+09:00 INFO 24832 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T22:39:48.276+09:00 INFO 24832 --- [main] sw_workbook.spring.Application : Started Application in 10.323 seconds (process running for 11.419) +2025-04-28T22:40:02.863+09:00 INFO 24832 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T22:40:02.863+09:00 INFO 24832 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T22:40:02.864+09:00 DEBUG 24832 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T22:40:02.864+09:00 DEBUG 24832 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T22:40:02.864+09:00 DEBUG 24832 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T22:40:02.865+09:00 DEBUG 24832 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@6ae9b2f0 +2025-04-28T22:40:02.866+09:00 DEBUG 24832 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@2a8f3969 +2025-04-28T22:40:02.866+09:00 DEBUG 24832 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T22:40:02.867+09:00 INFO 24832 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms +2025-04-28T22:40:02.918+09:00 DEBUG 24832 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T22:40:02.921+09:00 DEBUG 24832 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T22:40:02.963+09:00 DEBUG 24832 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:40:03.423+09:00 DEBUG 24832 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:40:06.708+09:00 DEBUG 24832 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : HTTP POST https://nid.naver.com/oauth2.0/token +2025-04-28T22:40:06.741+09:00 DEBUG 24832 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T22:40:06.743+09:00 DEBUG 24832 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[aKmFLLZsk0m8Rs4BgU], redirect_uri=[http://localhost:8080/login/oauth2/code/naver]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T22:40:07.054+09:00 DEBUG 24832 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T22:40:07.056+09:00 DEBUG 24832 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=utf-8" +2025-04-28T22:40:07.143+09:00 DEBUG 24832 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : HTTP GET https://openapi.naver.com/v1/nid/me +2025-04-28T22:40:07.144+09:00 DEBUG 24832 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T22:40:07.363+09:00 DEBUG 24832 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T22:40:07.364+09:00 DEBUG 24832 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T22:40:07.834+09:00 INFO 24832 --- [http-nio-8080-exec-4] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T22:40:07.963+09:00 INFO 24832 --- [http-nio-8080-exec-4] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T22:40:07.970+09:00 DEBUG 24832 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T22:40:07.971+09:00 DEBUG 24832 --- [http-nio-8080-exec-5] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home() +2025-04-28T22:40:07.974+09:00 DEBUG 24832 --- [http-nio-8080-exec-5] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:40:08.032+09:00 DEBUG 24832 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:40:26.392+09:00 INFO 24832 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T22:40:26.809+09:00 INFO 24832 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T22:40:26.817+09:00 INFO 24832 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T22:40:26.819+09:00 INFO 24832 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T22:40:26.830+09:00 INFO 24832 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-04-28T22:40:30.563+09:00 INFO 26748 --- [main] sw_workbook.spring.Application : Starting Application using Java 17.0.10 with PID 26748 (C:\스프링\umc-sw\build\classes\java\main started by 우경 in C:\스프링\umc-sw) +2025-04-28T22:40:30.568+09:00 DEBUG 26748 --- [main] sw_workbook.spring.Application : Running with Spring Boot v3.4.3, Spring v6.2.3 +2025-04-28T22:40:30.569+09:00 INFO 26748 --- [main] sw_workbook.spring.Application : No active profile set, falling back to 1 default profile: "default" +2025-04-28T22:40:32.025+09:00 INFO 26748 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-04-28T22:40:32.199+09:00 INFO 26748 --- [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 156 ms. Found 3 JPA repository interfaces. +2025-04-28T22:40:33.109+09:00 INFO 26748 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-04-28T22:40:33.146+09:00 INFO 26748 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-04-28T22:40:33.147+09:00 INFO 26748 --- [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.36] +2025-04-28T22:40:33.254+09:00 INFO 26748 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-04-28T22:40:33.254+09:00 INFO 26748 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2612 ms +2025-04-28T22:40:33.534+09:00 INFO 26748 --- [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-04-28T22:40:33.648+09:00 INFO 26748 --- [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.8.Final +2025-04-28T22:40:33.712+09:00 INFO 26748 --- [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-04-28T22:40:34.263+09:00 INFO 26748 --- [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-04-28T22:40:34.319+09:00 INFO 26748 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-04-28T22:40:34.837+09:00 INFO 26748 --- [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@47b961e2 +2025-04-28T22:40:34.841+09:00 INFO 26748 --- [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-04-28T22:40:34.942+09:00 WARN 26748 --- [main] org.hibernate.orm.deprecation : HHH90000025: MySQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-04-28T22:40:34.978+09:00 INFO 26748 --- [main] org.hibernate.orm.connections.pooling : HHH10001005: Database info: + Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] + Database driver: undefined/unknown + Database version: 8.0.36 + Autocommit mode: undefined/unknown + Isolation level: undefined/unknown + Minimum pool size: undefined/unknown + Maximum pool size: undefined/unknown +2025-04-28T22:40:37.190+09:00 INFO 26748 --- [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-04-28T22:40:37.363+09:00 INFO 26748 --- [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T22:40:37.419+09:00 DEBUG 26748 --- [main] s.spring.config.jwt.JwtProvider : Secret key from application.yml: 0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI= +2025-04-28T22:40:37.948+09:00 INFO 26748 --- [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-04-28T22:40:38.859+09:00 WARN 26748 --- [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-04-28T22:40:38.892+09:00 INFO 26748 --- [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-04-28T22:40:39.182+09:00 DEBUG 26748 --- [main] s.w.s.m.m.a.RequestMappingHandlerMapping : 12 mappings in 'requestMappingHandlerMapping' +2025-04-28T22:40:39.320+09:00 DEBUG 26748 --- [main] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping' +2025-04-28T22:40:39.356+09:00 WARN 26748 --- [main] thorizationManagerRequestMatcherRegistry : One of the patterns in [/, /home, /login, login/oauth2/**, /signup, /oauth2/**, /members/signup, api/hello, /css/**] is missing a leading slash. This is discouraged; please include the leading slash in all your request matcher patterns. In future versions of Spring Security, leaving out the leading slash will result in an exception. +2025-04-28T22:40:39.646+09:00 DEBUG 26748 --- [main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice +2025-04-28T22:40:39.799+09:00 DEBUG 26748 --- [main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 2 @ExceptionHandler, 1 ResponseBodyAdvice +2025-04-28T22:40:40.021+09:00 INFO 26748 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-04-28T22:40:40.037+09:00 INFO 26748 --- [main] sw_workbook.spring.Application : Started Application in 10.324 seconds (process running for 11.342) +2025-04-28T22:40:40.179+09:00 INFO 26748 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-04-28T22:40:40.180+09:00 INFO 26748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-04-28T22:40:40.180+09:00 DEBUG 26748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected StandardServletMultipartResolver +2025-04-28T22:40:40.181+09:00 DEBUG 26748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected AcceptHeaderLocaleResolver +2025-04-28T22:40:40.181+09:00 DEBUG 26748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected FixedThemeResolver +2025-04-28T22:40:40.182+09:00 DEBUG 26748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@49ccecb0 +2025-04-28T22:40:40.183+09:00 DEBUG 26748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.support.SessionFlashMapManager@ec1963b +2025-04-28T22:40:40.184+09:00 DEBUG 26748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data +2025-04-28T22:40:40.184+09:00 INFO 26748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms +2025-04-28T22:40:40.232+09:00 DEBUG 26748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/login", parameters={} +2025-04-28T22:40:40.234+09:00 DEBUG 26748 --- [http-nio-8080-exec-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#loginPage() +2025-04-28T22:40:40.272+09:00 DEBUG 26748 --- [http-nio-8080-exec-1] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:40:40.762+09:00 DEBUG 26748 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:40:47.437+09:00 DEBUG 26748 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : HTTP POST https://nid.naver.com/oauth2.0/token +2025-04-28T22:40:47.451+09:00 DEBUG 26748 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T22:40:47.453+09:00 DEBUG 26748 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Writing [{grant_type=[authorization_code], code=[7sLAVgVozu9Zou4kgf], redirect_uri=[http://localhost:8080/login/oauth2/code/naver]}] as "application/x-www-form-urlencoded;charset=UTF-8" +2025-04-28T22:40:47.706+09:00 DEBUG 26748 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T22:40:47.709+09:00 DEBUG 26748 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Reading to [org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] as "application/json;charset=utf-8" +2025-04-28T22:40:47.782+09:00 DEBUG 26748 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : HTTP GET https://openapi.naver.com/v1/nid/me +2025-04-28T22:40:47.783+09:00 DEBUG 26748 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json] +2025-04-28T22:40:47.913+09:00 DEBUG 26748 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Response 200 OK +2025-04-28T22:40:47.914+09:00 DEBUG 26748 --- [http-nio-8080-exec-4] o.s.web.client.RestTemplate : Reading to [java.util.Map] +2025-04-28T22:40:48.379+09:00 INFO 26748 --- [http-nio-8080-exec-4] s.s.c.oauth.OAuth2LoginSuccessHandler : 들어옴0. +2025-04-28T22:40:48.557+09:00 INFO 26748 --- [http-nio-8080-exec-4] s.s.c.oauth.OAuth2LoginSuccessHandler : 로그인성공 실행됨 +2025-04-28T22:40:48.566+09:00 DEBUG 26748 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : GET "/home", parameters={} +2025-04-28T22:40:48.567+09:00 DEBUG 26748 --- [http-nio-8080-exec-5] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to sw_workbook.spring.web.controller.MemberViewController#home() +2025-04-28T22:40:48.570+09:00 DEBUG 26748 --- [http-nio-8080-exec-5] o.s.w.s.v.ContentNegotiatingViewResolver : Selected 'text/html' given [text/html, application/xhtml+xml, image/avif, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8, application/signed-exchange;v=b3;q=0.7] +2025-04-28T22:40:48.634+09:00 DEBUG 26748 --- [http-nio-8080-exec-5] o.s.web.servlet.DispatcherServlet : Completed 200 OK +2025-04-28T22:41:02.651+09:00 INFO 26748 --- [SpringApplicationShutdownHook] o.s.b.w.e.tomcat.GracefulShutdown : Commencing graceful shutdown. Waiting for active requests to complete +2025-04-28T22:41:03.052+09:00 INFO 26748 --- [tomcat-shutdown] o.s.b.w.e.tomcat.GracefulShutdown : Graceful shutdown complete +2025-04-28T22:41:03.060+09:00 INFO 26748 --- [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-04-28T22:41:03.063+09:00 INFO 26748 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-04-28T22:41:03.075+09:00 INFO 26748 --- [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. diff --git a/logs/app.log.2025-04-22.0.gz b/logs/app.log.2025-04-22.0.gz new file mode 100644 index 0000000..6a4c263 Binary files /dev/null and b/logs/app.log.2025-04-22.0.gz differ diff --git a/logs/app.log.2025-04-23.0.gz b/logs/app.log.2025-04-23.0.gz new file mode 100644 index 0000000..c905baf Binary files /dev/null and b/logs/app.log.2025-04-23.0.gz differ diff --git a/src/main/java/sw_workbook/spring/apiPayload/code/exception/handler/GlobalExceptionHandler.java b/src/main/java/sw_workbook/spring/apiPayload/code/exception/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..5acfde8 --- /dev/null +++ b/src/main/java/sw_workbook/spring/apiPayload/code/exception/handler/GlobalExceptionHandler.java @@ -0,0 +1,79 @@ +package sw_workbook.spring.apiPayload.code.exception.handler; + +import io.jsonwebtoken.ExpiredJwtException; +import jakarta.validation.ConstraintViolationException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.BindException; +import org.springframework.web.bind.MethodArgumentNotValidException; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; +import sw_workbook.spring.apiPayload.ApiResponse; +import sw_workbook.spring.apiPayload.code.status.ErrorStatus; +import sw_workbook.spring.config.jwt.exception.JwtAuthenticationException; + +import java.security.SignatureException; + +@RestControllerAdvice +@Slf4j +public class GlobalExceptionHandler { + + @ExceptionHandler(JwtAuthenticationException.class) + public ResponseEntity> handleJwtAuth(JwtAuthenticationException e) { + log.warn("[JwtAuthenticationException] {}", e.getMessage()); + return buildErrorResponse(ErrorStatus._UNAUTHORIZED); + } + + @ExceptionHandler(ExpiredJwtException.class) + public ResponseEntity> handleExpiredJwt(ExpiredJwtException e) { + log.warn("[ExpiredJwtException] {}", e.getMessage()); + return buildErrorResponse(ErrorStatus._UNAUTHORIZED); + } + + @ExceptionHandler(SignatureException.class) + public ResponseEntity> handleInvalidSignature(SignatureException e) { + log.warn("[SignatureException] {}", e.getMessage()); + return buildErrorResponse(ErrorStatus._FORBIDDEN); + } + + @ExceptionHandler(MethodArgumentNotValidException.class) + public ResponseEntity> handleMethodArgNotValid(MethodArgumentNotValidException e) { + String errorMessage = e.getBindingResult().getAllErrors().get(0).getDefaultMessage(); + log.warn("[MethodArgumentNotValidException] {}", errorMessage); + return buildCustomMessage(ErrorStatus._BAD_REQUEST, errorMessage); + } + + @ExceptionHandler(ConstraintViolationException.class) + public ResponseEntity> handleConstraintViolation(ConstraintViolationException e) { + String errorMessage = e.getConstraintViolations().iterator().next().getMessage(); + log.warn("[ConstraintViolationException] {}", errorMessage); + return buildCustomMessage(ErrorStatus._BAD_REQUEST, errorMessage); + } + + @ExceptionHandler(BindException.class) + public ResponseEntity> handleBindException(BindException e) { + String errorMessage = e.getBindingResult().getAllErrors().get(0).getDefaultMessage(); + log.warn("[BindException] {}", errorMessage); + return buildCustomMessage(ErrorStatus._BAD_REQUEST, errorMessage); + } + + @ExceptionHandler(Exception.class) + public ResponseEntity> handleUnhandledException(Exception e) { + log.error("[Unhandled Exception]", e); + return buildErrorResponse(ErrorStatus._INTERNAL_SERVER_ERROR); + } + + // 🔧 공통 응답 생성 + private ResponseEntity> buildErrorResponse(ErrorStatus status) { + return ResponseEntity + .status(status.getHttpStatus()) + .body(ApiResponse.onFailure(status.getCode(), status.getMessage(), null)); + } + + private ResponseEntity> buildCustomMessage(ErrorStatus status, String message) { + return ResponseEntity + .status(status.getHttpStatus()) + .body(ApiResponse.onFailure(status.getCode(), message, null)); + } +} \ No newline at end of file diff --git a/src/main/java/sw_workbook/spring/apiPayload/code/status/ErrorStatus.java b/src/main/java/sw_workbook/spring/apiPayload/code/status/ErrorStatus.java index f740fc3..a517b1a 100644 --- a/src/main/java/sw_workbook/spring/apiPayload/code/status/ErrorStatus.java +++ b/src/main/java/sw_workbook/spring/apiPayload/code/status/ErrorStatus.java @@ -49,7 +49,6 @@ public ErrorReasonDTO getReasonHttpStatus() { .code(code) .isSuccess(false) .httpStatus(httpStatus) - .build() - ; + .build(); } } \ No newline at end of file diff --git a/src/main/java/sw_workbook/spring/config/CustomOAuth2UserService.java b/src/main/java/sw_workbook/spring/config/CustomOAuth2UserService.java deleted file mode 100644 index b837907..0000000 --- a/src/main/java/sw_workbook/spring/config/CustomOAuth2UserService.java +++ /dev/null @@ -1,79 +0,0 @@ -package sw_workbook.spring.config; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.security.oauth2.client.userinfo.DefaultOAuth2UserService; -import org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest; -import org.springframework.security.oauth2.core.OAuth2AuthenticationException; -import org.springframework.security.oauth2.core.user.DefaultOAuth2User; -import org.springframework.security.oauth2.core.user.OAuth2User; -import org.springframework.stereotype.Service; -import sw_workbook.spring.Repository.MemberRepository; -import sw_workbook.spring.config.jwt.JwtGenerator; -import sw_workbook.spring.config.jwt.JwtToken; -import sw_workbook.spring.domain.Member; -import sw_workbook.spring.domain.enums.Gender; -import sw_workbook.spring.domain.enums.Role; - -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -@Slf4j -@Service -@RequiredArgsConstructor -public class CustomOAuth2UserService extends DefaultOAuth2UserService {//DefaultOAuth2UserService<< OAuth2 로그인시 사용자 정보 가져옴 - private final MemberRepository memberRepository; - private final PasswordEncoder passwordEncoder; - private final JwtGenerator jwtGenerator; // JWT 발급기 추가 - @Override - public OAuth2User loadUser(OAuth2UserRequest userRequest) throws OAuth2AuthenticationException{ - - OAuth2User oAuth2User = super.loadUser(userRequest);//loadUser(userRequest): OAuth2 로그인 요청이 들어오면 실행되는 메서드입니다. - //카톡에서 제공하는 사용자 정보 오어스2 객체로 받아옴 - - Map attributes = oAuth2User.getAttributes();//attribute는 사용자의 기본정보 포함 - Map properties = (Map) attributes.get("properties"); - //Auth2 로그인에서 반환된 사용자 정보 중 특정 서브 정보를 추출, properties라는 속성 내에 추가적인 사용자 정보를 저장 - - String nickname = (String) properties.get("nickname"); - String email = nickname + "@kakao.com"; // 임시 이메일 생성 - - // 사용자 정보 저장 또는 업데이트 - Member member = saveOrUpdateUser(email, nickname); - - JwtToken jwtToken = jwtGenerator.generateToken(member.getId(), member.getRole()); - - log.info("Generated Access Token: {}", jwtToken.getAccessToken()); - - - // 이메일을 Principal로 사용하기 위해 attributes 수정 - Map modifiedAttributes = new HashMap<>(attributes); - modifiedAttributes.put("email", email); - modifiedAttributes.put("token", jwtToken.getAccessToken()); - return new DefaultOAuth2User( - oAuth2User.getAuthorities(), - modifiedAttributes, - "email" // email Principal로 설정 - ); - } - - private Member saveOrUpdateUser(String email, String nickname) { - Member member = memberRepository.findByEmail(email) - .orElse(Member.builder() - .email(email) - .name(nickname) - .password(passwordEncoder.encode("OAUTH_USER_" + UUID.randomUUID())) - .gender(Gender.NONE) // 기본값 설정 - .address("소셜로그인") // 기본값 설정 - .specAddress("소셜로그인") // 기본값 설정 - .role(Role.USER) - .build()); - - return memberRepository.save(member); - } - - - -} diff --git a/src/main/java/sw_workbook/spring/config/SecurityConfig.java b/src/main/java/sw_workbook/spring/config/SecurityConfig.java index 9edbbb4..4047145 100644 --- a/src/main/java/sw_workbook/spring/config/SecurityConfig.java +++ b/src/main/java/sw_workbook/spring/config/SecurityConfig.java @@ -1,47 +1,76 @@ package sw_workbook.spring.config; +import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; +import org.springframework.security.config.http.SessionCreationPolicy; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.SecurityFilterChain; +import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; +import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.cors.CorsConfigurationSource; +import org.springframework.web.cors.UrlBasedCorsConfigurationSource; +import sw_workbook.spring.config.jwt.JwtAuthenticationFilter; +import sw_workbook.spring.config.jwt.JwtProvider; +import sw_workbook.spring.config.oauth.CustomAuthenticationEntryPoint; +import sw_workbook.spring.config.oauth.OAuth2LoginSuccessHandler; @EnableWebSecurity @Configuration +@RequiredArgsConstructor public class SecurityConfig { + private final JwtProvider jwtProvider; + private final CustomAuthenticationEntryPoint customAuthenticationEntryPoint; + private final OAuth2LoginSuccessHandler oAuth2LoginSuccessHandler; + @Bean - public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { - http - .authorizeHttpRequests((requests) -> requests - .requestMatchers("/", "/home", "/signup", "/members/signup", "api/hello","/css/**").permitAll() + public SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { + return httpSecurity + .cors(cors -> cors.configurationSource(corsConfigurationSource())) // CORS 설정 적용 + .httpBasic(AbstractHttpConfigurer::disable) + .csrf(AbstractHttpConfigurer::disable) + .formLogin(AbstractHttpConfigurer::disable) + .sessionManagement(sessionManagementConfigurer -> sessionManagementConfigurer + .sessionCreationPolicy(SessionCreationPolicy.STATELESS))//세션비활성화 + .authorizeHttpRequests(auth -> auth + .requestMatchers("/", "/home","/login", "login/oauth2/**","/signup","/oauth2/**", "/members/signup", "api/hello","/css/**").permitAll() .requestMatchers("/admin/**").hasRole("ADMIN") - .anyRequest().authenticated() - ) - .formLogin((form) -> form + .anyRequest().authenticated()) // 그 외 모든 요청은 인증 필요 + .oauth2Login(oauth2 -> oauth2 .loginPage("/login") - .defaultSuccessUrl("/home", true) +// .defaultSuccessUrl("/home",true) + .successHandler(oAuth2LoginSuccessHandler) // .permitAll() ) - .logout((logout) -> logout - .logoutUrl("/logout") - .logoutSuccessUrl("/login?logout") - .permitAll() + .exceptionHandling(exceptionHandling -> + exceptionHandling.authenticationEntryPoint(customAuthenticationEntryPoint)) + .addFilterBefore(new JwtAuthenticationFilter(jwtProvider), + UsernamePasswordAuthenticationFilter.class ) - .oauth2Login(oauth2 -> oauth2 - .loginPage("/login") - .defaultSuccessUrl("/home",true) - .permitAll() - ); + .build(); + } + @Bean + public CorsConfigurationSource corsConfigurationSource() { + CorsConfiguration configuration = new CorsConfiguration(); + configuration.setAllowCredentials(true); // 쿠키 허용 + configuration.addAllowedOrigin("http://localhost:5173"); // 허용할 프론트엔드 URL + configuration.addAllowedHeader("*"); // 모든 헤더 허용 + configuration.addAllowedMethod("*"); // 모든 HTTP 메서드 허용 - return http.build(); + UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); + source.registerCorsConfiguration("/**", configuration); + return source; } @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } + } \ No newline at end of file diff --git a/src/main/java/sw_workbook/spring/config/jwt/Dto/LogoutRequest.java b/src/main/java/sw_workbook/spring/config/jwt/Dto/LogoutRequest.java new file mode 100644 index 0000000..8b94763 --- /dev/null +++ b/src/main/java/sw_workbook/spring/config/jwt/Dto/LogoutRequest.java @@ -0,0 +1,10 @@ +package sw_workbook.spring.config.jwt.Dto; + +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Getter +@NoArgsConstructor +public class LogoutRequest { + private String username; +} diff --git a/src/main/java/sw_workbook/spring/config/jwt/Dto/RefreshTokenRequest.java b/src/main/java/sw_workbook/spring/config/jwt/Dto/RefreshTokenRequest.java new file mode 100644 index 0000000..cc1f3ad --- /dev/null +++ b/src/main/java/sw_workbook/spring/config/jwt/Dto/RefreshTokenRequest.java @@ -0,0 +1,12 @@ +package sw_workbook.spring.config.jwt.Dto; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Getter +@NoArgsConstructor +@AllArgsConstructor +public class RefreshTokenRequest { + private String refreshToken; +} \ No newline at end of file diff --git a/src/main/java/sw_workbook/spring/config/jwt/Dto/TokenResponse.java b/src/main/java/sw_workbook/spring/config/jwt/Dto/TokenResponse.java new file mode 100644 index 0000000..5d8f313 --- /dev/null +++ b/src/main/java/sw_workbook/spring/config/jwt/Dto/TokenResponse.java @@ -0,0 +1,10 @@ +package sw_workbook.spring.config.jwt.Dto; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public class TokenResponse { + private String accessToken; +} diff --git a/src/main/java/sw_workbook/spring/config/jwt/JwtAuthenticationFilter.java b/src/main/java/sw_workbook/spring/config/jwt/JwtAuthenticationFilter.java index 5297d6e..b29c4a4 100644 --- a/src/main/java/sw_workbook/spring/config/jwt/JwtAuthenticationFilter.java +++ b/src/main/java/sw_workbook/spring/config/jwt/JwtAuthenticationFilter.java @@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import jakarta.servlet.http.HttpServletResponse; diff --git a/src/main/java/sw_workbook/spring/config/jwt/JwtGenerator.java b/src/main/java/sw_workbook/spring/config/jwt/JwtGenerator.java index cc6a560..1ec586c 100644 --- a/src/main/java/sw_workbook/spring/config/jwt/JwtGenerator.java +++ b/src/main/java/sw_workbook/spring/config/jwt/JwtGenerator.java @@ -6,6 +6,7 @@ import io.jsonwebtoken.security.Keys; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; +import sw_workbook.spring.domain.Member; import sw_workbook.spring.domain.enums.Role; import java.security.Key; @@ -17,6 +18,9 @@ public class JwtGenerator { private final Key key; private static final String GRANT_TYPE = "Bearer"; + @Value("${spring.jwt.issuer}") + private String jwtIssuer; + @Value("${spring.jwt.access-token-expiration-millis}") private long accessTokenExpirationMillis; @@ -29,22 +33,24 @@ public JwtGenerator(@Value("${spring.jwt.secret}") String secretKey) { this.key = Keys.hmacShaKeyFor(keyBytes); } - public JwtToken generateToken(Long userId, Role roles) { + public JwtToken generateToken(Member member, Role roles) { long now = (new Date()).getTime(); String authorities = roles.getValue(); String accessToken = Jwts.builder() - .setSubject(String.valueOf(userId)) + .setIssuer(jwtIssuer) + //.setSubject(String.valueOf(userId))//userid로 할경우 jwt는 사양상 String 타입을 요구함 + .setSubject(member.getEmail()) .claim("auth", authorities)// 권한 설정 .setExpiration(new Date(now+accessTokenExpirationMillis)) .setIssuedAt(Calendar.getInstance().getTime()) .signWith(key, SignatureAlgorithm.HS256) - .compact(); + .compact();// 해더 페이로드 시그니처를 .으로 만든 문자열 인코딩&조합 String refreshToken = Jwts.builder() - .setSubject(String.valueOf(userId)) + .setSubject(member.getEmail()) .setExpiration(new Date(now + refreshTokenExpirationMillis))//7일 만료 .setIssuedAt(Calendar.getInstance().getTime()) .signWith(key, SignatureAlgorithm.HS256) @@ -56,4 +62,16 @@ public JwtToken generateToken(Long userId, Role roles) { .refreshToken(refreshToken) .build(); } + public String createAccessToken(String email, String role) { + long now = System.currentTimeMillis(); + + return Jwts.builder() + .setIssuer(jwtIssuer) + .setSubject(email) + .claim("auth", role) + .setExpiration(new Date(now + accessTokenExpirationMillis)) + .setIssuedAt(new Date(now)) + .signWith(key, SignatureAlgorithm.HS256) + .compact(); + } } diff --git a/src/main/java/sw_workbook/spring/config/jwt/JwtProvider.java b/src/main/java/sw_workbook/spring/config/jwt/JwtProvider.java index 365dbba..59fd2af 100644 --- a/src/main/java/sw_workbook/spring/config/jwt/JwtProvider.java +++ b/src/main/java/sw_workbook/spring/config/jwt/JwtProvider.java @@ -11,6 +11,7 @@ import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.stereotype.Component; +import sw_workbook.spring.config.jwt.exception.JwtAuthenticationException; import java.nio.charset.StandardCharsets; import java.security.Key; @@ -53,16 +54,33 @@ public boolean validateToken(String token) { return true; } catch (SecurityException | MalformedJwtException e) { log.warn("Invalid JWT Token", e); + throw new JwtAuthenticationException("잘못된 JWT 서명입니다."); } catch (ExpiredJwtException e) { log.warn("Expired JWT Token", e); + throw new JwtAuthenticationException("만료된 JWT 토큰입니다."); } catch (UnsupportedJwtException e) { log.warn("Unsupported JWT Token", e); + throw new JwtAuthenticationException("지원하지 않는 JWT 토큰입니다."); } catch (IllegalArgumentException e) { log.warn("JWT claims string is empty.", e); + throw new JwtAuthenticationException("JWT 토큰이 잘못되었습니다."); + } + // return false; + } + public void validateRefreshToken(String refreshToken) { + try { + Jwts.parserBuilder() + .setSigningKey(key) + .build() + .parseClaimsJws(refreshToken); + } catch (ExpiredJwtException e) { + log.warn("Expired Refresh Token", e); + throw new JwtAuthenticationException("만료된 리프레시 토큰입니다."); + } catch (JwtException e) { + log.warn("Invalid Refresh Token", e); + throw new JwtAuthenticationException("유효하지 않은 리프레시 토큰입니다."); } - return false; } - private Claims parseClaims(String accessToken) { try { return Jwts.parserBuilder() diff --git a/src/main/java/sw_workbook/spring/config/jwt/Repository/RefreshTokenRepository.java b/src/main/java/sw_workbook/spring/config/jwt/Repository/RefreshTokenRepository.java new file mode 100644 index 0000000..268ff38 --- /dev/null +++ b/src/main/java/sw_workbook/spring/config/jwt/Repository/RefreshTokenRepository.java @@ -0,0 +1,19 @@ +package sw_workbook.spring.config.jwt.Repository; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import sw_workbook.spring.config.jwt.entity.RefreshToken; + +import java.util.Optional; + +@Repository +public interface RefreshTokenRepository extends JpaRepository { + + Optional findByRefreshToken(String refreshToken); + Optional findByUsername(String username);//username은 이메일이야 + + void deleteByUsername(String username); + + + +} diff --git a/src/main/java/sw_workbook/spring/config/jwt/entity/RefreshToken.java b/src/main/java/sw_workbook/spring/config/jwt/entity/RefreshToken.java new file mode 100644 index 0000000..d5d0b6b --- /dev/null +++ b/src/main/java/sw_workbook/spring/config/jwt/entity/RefreshToken.java @@ -0,0 +1,27 @@ +package sw_workbook.spring.config.jwt.entity; + +import jakarta.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Entity +@Getter +@NoArgsConstructor//파라미터 없는 기본생성자 생성(jpa필수) +@AllArgsConstructor//모든 필드를 인자로 받는 생성자 +@Builder(toBuilder = true) +public class RefreshToken { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @Column(nullable = false, unique = true) + private String username; + + + @Column(nullable = false) + private String refreshToken; + +} diff --git a/src/main/java/sw_workbook/spring/config/jwt/exception/JwtAuthenticationException.java b/src/main/java/sw_workbook/spring/config/jwt/exception/JwtAuthenticationException.java new file mode 100644 index 0000000..2228311 --- /dev/null +++ b/src/main/java/sw_workbook/spring/config/jwt/exception/JwtAuthenticationException.java @@ -0,0 +1,7 @@ +package sw_workbook.spring.config.jwt.exception; + +public class JwtAuthenticationException extends RuntimeException { + public JwtAuthenticationException(String message) { + super(message); + } +} diff --git a/src/main/java/sw_workbook/spring/config/oauth/CustomAuthenticationEntryPoint.java b/src/main/java/sw_workbook/spring/config/oauth/CustomAuthenticationEntryPoint.java new file mode 100644 index 0000000..ffe49c0 --- /dev/null +++ b/src/main/java/sw_workbook/spring/config/oauth/CustomAuthenticationEntryPoint.java @@ -0,0 +1,21 @@ +package sw_workbook.spring.config.oauth; + +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.security.core.AuthenticationException; +import org.springframework.security.web.AuthenticationEntryPoint; +import org.springframework.stereotype.Component; + +import java.io.IOException; + +@Component +public class CustomAuthenticationEntryPoint implements AuthenticationEntryPoint { + + @Override + public void commence(HttpServletRequest request, HttpServletResponse response, + AuthenticationException authException) throws IOException { + response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);//401상태오류코드 설정 + response.setContentType("application/json"); + response.getWriter().write("{\"error\": \"Unauthorized\", \"message\": \"Authentication is required to access this resource.\"}"); + } +} \ No newline at end of file diff --git a/src/main/java/sw_workbook/spring/config/oauth/CustomOAuth2UserService.java b/src/main/java/sw_workbook/spring/config/oauth/CustomOAuth2UserService.java new file mode 100644 index 0000000..f1316ae --- /dev/null +++ b/src/main/java/sw_workbook/spring/config/oauth/CustomOAuth2UserService.java @@ -0,0 +1,114 @@ +package sw_workbook.spring.config.oauth; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.security.oauth2.client.userinfo.DefaultOAuth2UserService; +import org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest; +import org.springframework.security.oauth2.core.OAuth2AuthenticationException; +import org.springframework.security.oauth2.core.user.DefaultOAuth2User; +import org.springframework.security.oauth2.core.user.OAuth2User; +import org.springframework.stereotype.Service; +import sw_workbook.spring.Repository.MemberRepository; +import sw_workbook.spring.config.jwt.JwtGenerator; +import sw_workbook.spring.config.jwt.JwtToken; +import sw_workbook.spring.config.jwt.Repository.RefreshTokenRepository; +import sw_workbook.spring.config.jwt.entity.RefreshToken; +import sw_workbook.spring.config.oauth.dto.OAuth2UserInfo; +import sw_workbook.spring.config.oauth.dto.OAuth2UserInfoFactory; +import sw_workbook.spring.domain.Member; +import sw_workbook.spring.domain.enums.Gender; +import sw_workbook.spring.domain.enums.Role; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +@Slf4j +@Service +@RequiredArgsConstructor +public class CustomOAuth2UserService extends DefaultOAuth2UserService {//DefaultOAuth2UserService<< OAuth2 로그인시 사용자 정보 가져옴 + private final MemberRepository memberRepository; + private final PasswordEncoder passwordEncoder; + + +// public OAuth2User loadUser2(OAuth2UserRequest userRequest) throws OAuth2AuthenticationException{ +// +// OAuth2User oAuth2User = super.loadUser(userRequest);//loadUser(userRequest): OAuth2 로그인 요청이 들어오면 실행되는 메서드입니다. +// //카톡에서 제공하는 사용자 정보 오어스2 객체로 받아옴 +// +// Map attributes = oAuth2User.getAttributes();//attribute는 사용자의 기본정보 포함 +// Map properties = (Map) attributes.get("properties"); +// //Auth2 로그인에서 반환된 사용자 정보 중 특정 서브 정보를 추출, properties라는 속성 내에 추가적인 사용자 정보를 저장 +// +// String nickname = (String) properties.get("nickname"); +// String email = nickname + "@kakao.com"; // 임시 이메일 생성 +// +// // 사용자 정보 저장 또는 업데이트 +// +// +// +// // 이메일을 Principal로 사용하기 위해 attributes 수정 +// Map modifiedAttributes = new HashMap<>(attributes); +// modifiedAttributes.put("email", email); +//// modifiedAttributes.put("token", jwtToken.getAccessToken()); +// return new DefaultOAuth2User( +// oAuth2User.getAuthorities(), +// modifiedAttributes, +// "email" // email Principal로 설정 +// ); +// } + + @Override + public OAuth2User loadUser(OAuth2UserRequest userRequest) throws OAuth2AuthenticationException { + OAuth2User oAuth2User = super.loadUser(userRequest); + + String registrationId = userRequest.getClientRegistration().getRegistrationId();// 구글 카카오 네이버 등 자동식별 + OAuth2UserInfo userInfo = OAuth2UserInfoFactory.getOAuth2UserInfo(registrationId, oAuth2User.getAttributes()); + + String name = userInfo.getName(); + String email = userInfo.getEmail(); + + if (email == null || email.isBlank()) { + email = registrationId + "_" + UUID.randomUUID() + "@social.com"; + } + +// Member member = saveOrUpdateUser(email, name); + saveOrUpdateUser(email,name,registrationId); + + Map attributes = new HashMap<>(userInfo.getAttributes()); + attributes.put("email", email); // principal 용 + + return new DefaultOAuth2User( + oAuth2User.getAuthorities(), + attributes, + "email" + ); + } + + private Member saveOrUpdateUser(String email, String nickname, String registrationId) { + Member member = memberRepository.findByEmail(email) + .orElse(Member.builder() + .email(email) + .name(nickname) + .password(passwordEncoder.encode("OAUTH_USER_" + UUID.randomUUID())) + .gender(Gender.NONE) // 기본값 설정 + .address("소셜로그인") // 기본값 설정 + .specAddress("소셜로그인") // 기본값 설정 + .role(Role.USER) + .build()); + if (registrationId.equals("kakao")) { + // 카카오 특화 처리 + } else if (registrationId.equals("google")) { + // 구글 특화 처리 + } else if (registrationId.equals("naver")) { + // 네이버 특화 처리 + } + + + return memberRepository.save(member); + } + + + +} diff --git a/src/main/java/sw_workbook/spring/config/CustomUserDetailsService.java b/src/main/java/sw_workbook/spring/config/oauth/CustomUserDetailsService.java similarity index 96% rename from src/main/java/sw_workbook/spring/config/CustomUserDetailsService.java rename to src/main/java/sw_workbook/spring/config/oauth/CustomUserDetailsService.java index 09db749..ef3eb0c 100644 --- a/src/main/java/sw_workbook/spring/config/CustomUserDetailsService.java +++ b/src/main/java/sw_workbook/spring/config/oauth/CustomUserDetailsService.java @@ -1,4 +1,4 @@ -package sw_workbook.spring.config; +package sw_workbook.spring.config.oauth; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/sw_workbook/spring/config/oauth/OAuth2LoginSuccessHandler.java b/src/main/java/sw_workbook/spring/config/oauth/OAuth2LoginSuccessHandler.java new file mode 100644 index 0000000..892c286 --- /dev/null +++ b/src/main/java/sw_workbook/spring/config/oauth/OAuth2LoginSuccessHandler.java @@ -0,0 +1,95 @@ +package sw_workbook.spring.config.oauth; + +import com.fasterxml.jackson.databind.ObjectMapper; +import jakarta.servlet.http.Cookie; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.ResponseCookie; +import org.springframework.security.core.Authentication; +import org.springframework.security.oauth2.core.user.DefaultOAuth2User; +import org.springframework.security.web.authentication.AuthenticationSuccessHandler; +import org.springframework.stereotype.Component; +import sw_workbook.spring.Repository.MemberRepository; +import sw_workbook.spring.config.jwt.JwtGenerator; +import sw_workbook.spring.config.jwt.JwtToken; +import sw_workbook.spring.config.jwt.Repository.RefreshTokenRepository; +import sw_workbook.spring.config.jwt.entity.RefreshToken; +import sw_workbook.spring.domain.Member; + +import java.io.IOException; +import java.util.Map; + +@RequiredArgsConstructor +@Component +@Slf4j +public class OAuth2LoginSuccessHandler implements AuthenticationSuccessHandler { + + private final JwtGenerator jwtGenerator; + private final RefreshTokenRepository refreshTokenRepository; + private final MemberRepository memberRepository; + + @Override + public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, + Authentication authentication) throws IOException { + + log.info("들어옴0."); + + // OAuth2 로그인한 사용자 정보 추출 + DefaultOAuth2User oAuth2User = (DefaultOAuth2User) authentication.getPrincipal(); + String email = (String) oAuth2User.getAttributes().get("email"); + + Member member = memberRepository.findByEmail(email) + .orElseThrow(() -> new RuntimeException("사용자 정보 없음")); +// Member member = (Member) oAuth2User.getAttributes().get("member"); + + JwtToken jwtToken = jwtGenerator.generateToken(member, member.getRole()); + + // RefreshToken 저장 + refreshTokenRepository.findByUsername(email) + .ifPresentOrElse( + existing -> { + RefreshToken updated = existing.toBuilder() + .refreshToken(jwtToken.getRefreshToken()) + .build(); + refreshTokenRepository.save(updated); + }, + () -> refreshTokenRepository.save( + RefreshToken.builder() + .username(email) + .refreshToken(jwtToken.getRefreshToken()) + .build()) + ); + + ResponseCookie refreshCookie = ResponseCookie.from("refreshToken", jwtToken.getRefreshToken()) + .httpOnly(true) + .secure(false) // HTTPS 환경일 경우 true, 개발 중이면 false + .path("/") + .sameSite("Lax") // 프론트 분리 환경에서는 None (CORS 허용) + .maxAge(7 * 24 * 60 * 60) + .build(); + + ResponseCookie accessCookie = ResponseCookie.from("accessToken", jwtToken.getAccessToken()) + .httpOnly(true) + .secure(false) // HTTPS 환경일 경우 true, 개발 중이면 false + .path("/") + .sameSite("Lax") // 프론트 분리 환경에서는 None (CORS 허용) + .maxAge(900) + .build(); + + response.addHeader("Set-Cookie", refreshCookie.toString()); + response.addHeader("Set-Cookie", accessCookie.toString()); + + log.info("로그인성공 실행됨"); + + response.sendRedirect("/home"); + +// response.addHeader("Authorization","Bearer "+jwtToken.getAccessToken()); +// response.getWriter().write("로그인 성공"); +// response.addHeader("Access-Control-Expose-Headers", "Authorization"); 소셜로그인에서는 헤더에 넣을수가 없ㅇ므;; + + // cors 정책에 따라 특정 헤더를 클라이언트에 접근가능하도록 허용 Authorization를 허용 + + } +} \ No newline at end of file diff --git a/src/main/java/sw_workbook/spring/config/oauth/dto/GoogleUserInfo.java b/src/main/java/sw_workbook/spring/config/oauth/dto/GoogleUserInfo.java new file mode 100644 index 0000000..5123514 --- /dev/null +++ b/src/main/java/sw_workbook/spring/config/oauth/dto/GoogleUserInfo.java @@ -0,0 +1,31 @@ +package sw_workbook.spring.config.oauth.dto; + +import sw_workbook.spring.config.oauth.dto.OAuth2UserInfo; + +import java.util.Map; + +public class GoogleUserInfo implements OAuth2UserInfo { + private final Map attributes; + + public GoogleUserInfo(Map attributes) { + this.attributes = attributes; + } + + @Override + public String getEmail() { + if (attributes.get("email") != null) { + return (String) attributes.get("email"); + } + return null; // 여기선 그냥 null 주고 + } + + @Override + public String getName() { + return (String) attributes.get("name"); + } + + @Override + public Map getAttributes() { + return attributes; + } +} diff --git a/src/main/java/sw_workbook/spring/config/oauth/dto/KakaoUserInfo.java b/src/main/java/sw_workbook/spring/config/oauth/dto/KakaoUserInfo.java new file mode 100644 index 0000000..96ca41e --- /dev/null +++ b/src/main/java/sw_workbook/spring/config/oauth/dto/KakaoUserInfo.java @@ -0,0 +1,38 @@ +package sw_workbook.spring.config.oauth.dto; + +import sw_workbook.spring.config.oauth.dto.OAuth2UserInfo; + +import java.util.Map; +import java.util.UUID; + +public class KakaoUserInfo implements OAuth2UserInfo { + private final Map attributes; + + public KakaoUserInfo(Map attributes) { + this.attributes = attributes; + } + + @Override + public String getEmail() { + Map kakaoAccount = (Map) attributes.get("kakao_account");//카카오 계좌정보가져옴(이메일, 프로필정보) + if (kakaoAccount != null && kakaoAccount.get("email") != null) { + return (String) kakaoAccount.get("email"); + } + return "kakao_" + UUID.randomUUID() + "@social.com"; // 여기서 생성 + } + + @Override + public String getName() { + Map properties = (Map) attributes.get("properties"); + if (properties != null && properties.get("nickname") != null) { + return (String) properties.get("nickname"); + } + return "카카오사용자"; // 닉네임 없으면 기본값 + } + + @Override + public Map getAttributes() { + return attributes; + } +} + diff --git a/src/main/java/sw_workbook/spring/config/oauth/dto/NaverUserInfo.java b/src/main/java/sw_workbook/spring/config/oauth/dto/NaverUserInfo.java new file mode 100644 index 0000000..b00521a --- /dev/null +++ b/src/main/java/sw_workbook/spring/config/oauth/dto/NaverUserInfo.java @@ -0,0 +1,31 @@ +package sw_workbook.spring.config.oauth.dto; + +import sw_workbook.spring.config.oauth.dto.OAuth2UserInfo; + +import java.util.Map; + +public class NaverUserInfo implements OAuth2UserInfo { + private final Map attributes; + + + public NaverUserInfo(Map attributes) { + this.attributes = attributes; + } + + @Override + public String getEmail() { + Map response = (Map) attributes.get("response"); + return (String) response.get("email"); // response 안에서 email 꺼내기 + } + + @Override + public String getName() { + Map response = (Map) attributes.get("response"); + return (String) response.get("nickname"); // response 안에서 nickname 꺼내기 + } + + @Override + public Map getAttributes() { + return attributes; + } +} diff --git a/src/main/java/sw_workbook/spring/config/oauth/dto/OAuth2UserInfo.java b/src/main/java/sw_workbook/spring/config/oauth/dto/OAuth2UserInfo.java new file mode 100644 index 0000000..498d86a --- /dev/null +++ b/src/main/java/sw_workbook/spring/config/oauth/dto/OAuth2UserInfo.java @@ -0,0 +1,9 @@ +package sw_workbook.spring.config.oauth.dto; + +import java.util.Map; + +public interface OAuth2UserInfo { + String getEmail(); + String getName(); + Map getAttributes(); +} diff --git a/src/main/java/sw_workbook/spring/config/oauth/dto/OAuth2UserInfoFactory.java b/src/main/java/sw_workbook/spring/config/oauth/dto/OAuth2UserInfoFactory.java new file mode 100644 index 0000000..443e09c --- /dev/null +++ b/src/main/java/sw_workbook/spring/config/oauth/dto/OAuth2UserInfoFactory.java @@ -0,0 +1,14 @@ +package sw_workbook.spring.config.oauth.dto; + +import java.util.Map; + +public class OAuth2UserInfoFactory { + public static OAuth2UserInfo getOAuth2UserInfo(String registrationId, Map attributes) { + switch (registrationId) { + case "google": return new GoogleUserInfo(attributes); + case "kakao": return new KakaoUserInfo(attributes); + case "naver": return new NaverUserInfo(attributes); + default: throw new IllegalArgumentException("지원하지 않는 소셜 로그인입니다: " + registrationId); + } + } +} diff --git a/src/main/java/sw_workbook/spring/web/controller/MemberViewController.java b/src/main/java/sw_workbook/spring/web/controller/MemberViewController.java index 7ac8515..29add60 100644 --- a/src/main/java/sw_workbook/spring/web/controller/MemberViewController.java +++ b/src/main/java/sw_workbook/spring/web/controller/MemberViewController.java @@ -1,14 +1,20 @@ package sw_workbook.spring.web.controller; +import jakarta.servlet.http.Cookie; +import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.*; +import sw_workbook.spring.apiPayload.ApiResponse; +import sw_workbook.spring.config.jwt.Dto.LogoutRequest; +import sw_workbook.spring.config.jwt.JwtGenerator; +import sw_workbook.spring.config.jwt.JwtProvider; +import sw_workbook.spring.config.jwt.Repository.RefreshTokenRepository; +import sw_workbook.spring.config.jwt.entity.RefreshToken; +import sw_workbook.spring.config.jwt.exception.JwtAuthenticationException; import sw_workbook.spring.service.memberservice.MemberCommandService; import sw_workbook.spring.web.dto.MemberRequestDTO; @@ -17,6 +23,11 @@ public class MemberViewController { private final MemberCommandService memberCommandService; + private RefreshTokenRepository refreshTokenRepository; + private JwtGenerator jwtGenerator; + private JwtProvider jwtProvider; + + @@ -25,10 +36,36 @@ public String home() { return "home"; } +// @GetMapping("/home") +// public String home(Model model, Authentication authentication) { +// +// String provider = "기타"; +// String userName = "사용자"; +// +// if (authentication != null) { +// Object principal = authentication.getPrincipal(); +// +// if (principal instanceof OAuth2User oAuth2User) { +// if (authentication instanceof OAuth2AuthenticationToken oauthToken) { +// provider = oauthToken.getAuthorizedClientRegistrationId(); // "google", "kakao" +// } +// userName = oAuth2User.getAttribute("name"); // 구글, 카카오 로그인 이름 (이름이 없으면 다른 값 뽑아야 할 수도 있음) +// } else if (principal instanceof org.springframework.security.core.userdetails.User user) { +// provider = "일반"; // 폼 로그인 +// userName = user.getUsername(); +// } +// } +// model.addAttribute("provider", provider); +// model.addAttribute("userName", userName); +// +// return "home"; +// } + @GetMapping("/admin") public String admin() { return "admin"; } + @GetMapping("/login") public String loginPage() { return "login"; @@ -56,4 +93,47 @@ public String joinMember(@ModelAttribute("memberJoinDto") MemberRequestDTO.JoinD } + @PostMapping("/reissue") + public ResponseEntity> reissue( + @CookieValue(value = "refreshToken", required = false) String refreshToken, + HttpServletResponse response) { + + if (refreshToken == null) { + throw new JwtAuthenticationException("리프레시 토큰이 존재하지 않습니다."); + } + + // 1. 유효성 검증 + jwtProvider.validateRefreshToken(refreshToken); + + // 2. 저장된 리프레시 토큰과 비교 + RefreshToken savedToken = refreshTokenRepository.findByRefreshToken(refreshToken) + .orElseThrow(() -> new JwtAuthenticationException("DB에 저장된 리프레시 토큰이 아닙니다.")); + + // 3. 새로운 액세스 토큰 발급 + String newAccessToken = jwtGenerator.createAccessToken(savedToken.getUsername(), "ROLE_USER"); + + // 4. 쿠키에 리프레시 토큰 다시 저장 (만료 시간 갱신 목적) 아래 설정을 하기 위해 쿠키에 넣는것임! + Cookie newRefreshCookie = new Cookie("refreshToken", refreshToken);// 쿠키 이름과 토큰값 설정 + newRefreshCookie.setHttpOnly(true);//js에서 접근을 못하게 하는 설정, xss 공격 방지에 효과적(웹해킹공격) + newRefreshCookie.setSecure(false); // true로 바꾸면 HTTPS에서만 쿠키 전송이 가능해짐 SSL, HTTPS 베포 // http=암호화되지않은 연결, 개발환경에서는 false로 둠 + newRefreshCookie.setPath("/");// 쿠키가 허용한 url경로 + newRefreshCookie.setMaxAge(7 * 24 * 60 * 60); // 7일 refreshtoken과 만료시점을 맞춤 + +// response.setHeader("Set-Cookie", +// "refreshToken=" + refreshToken + +// "; Path=/; HttpOnly; Secure; SameSite=None; Max-Age=" + (7 * 24 * 60 * 60) +// ); + response.addCookie(newRefreshCookie); + + + // 5. 액세스 토큰만 응답 바디로 전달 + return ResponseEntity.ok(new ApiResponse<>(true, "200", "성공", newAccessToken)); + } + + @PostMapping("/logout") + public ResponseEntity logout(@RequestBody LogoutRequest request) { + refreshTokenRepository.deleteByUsername(request.getUsername()); + return ResponseEntity.ok().build(); + } + } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 1b164e8..4b415cd 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -23,34 +23,48 @@ spring: client: registration: naver: - client-id: jcp7VcJNvj9p_6zPztTH # REST API 키 + client-id: jcp7VcJNvj9p_6zPztTH client-secret: Y3bDgsKrPX - redirect-uri: http://15.164.164.228:8080/login/oauth2/code/naver + redirect-uri: http://localhost:8080/login/oauth2/code/naver authorization-grant-type: authorization_code - scope: name, email, profile_image, gender, age # 동의 항목 + scope: + - name + - email client-name: Naver kakao: client-authentication-method: client_secret_post client-id: 5eea303692395e4d36e5eff8b6133ea6 client-secret: LxA67TvEovut6iCUEeOpl6Ti1OJaG4iI - redirect-uri: http://15.164.164.228:8080/login/oauth2/code/kakao + redirect-uri: http://localhost:8080/login/oauth2/code/kakao authorization-grant-type: authorization_code scope: profile_nickname client-name: Kakao + google: + client-id: 1040270296909-o0i0g380aeg7u52aq5umj7dvuuam8mp7.apps.googleusercontent.com + client-secret: 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 + scope: + - profile + - email + redirect-uri: "{baseUrl}/login/oauth2/code/{registrationId}" provider: naver: - authorization_uri: - token_uri: - user-info-uri: + authorization_uri: https://nid.naver.com/oauth2.0/authorize + token_uri: https://nid.naver.com/oauth2.0/token + user-info-uri: https://openapi.naver.com/v1/nid/me user_name_attribute: response kakao: authorization-uri: https://kauth.kakao.com/oauth/authorize token-uri: https://kauth.kakao.com/oauth/token user-info-uri: https://kapi.kakao.com/v2/user/me user-name-attribute: id + google: + authorization-uri: https://accounts.google.com/o/oauth2/v2/auth + token-uri: https://oauth2.googleapis.com/token + user-info-uri: https://www.googleapis.com/oauth2/v3/userinfo jwt: + issuer: "codnrud99@skuniv.ac.kr" secret: "0SE/1s6T59aT75/Du/QMFTSLUTy+iU1eSlf7Sv3G+ZI=" - access-token-expiration-millis: 3600000 + access-token-expiration-millis: 900000 refresh-token-expiration-millis: 604800000 servlet: multipart: diff --git a/src/main/resources/templates/home.html b/src/main/resources/templates/home.html index 8c10cb1..ed5d8a3 100644 --- a/src/main/resources/templates/home.html +++ b/src/main/resources/templates/home.html @@ -8,6 +8,7 @@

Welcome to Home Page!

+
관리자 페이지로 이동 diff --git a/src/main/resources/templates/login-test.html b/src/main/resources/templates/login-test.html new file mode 100644 index 0000000..e377f92 --- /dev/null +++ b/src/main/resources/templates/login-test.html @@ -0,0 +1,25 @@ + + + + + 소셜 로그인 테스트 + + +

로그인 테스트

+ +

+
+
+
+
diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html
index 878af08..fbbc57a 100644
--- a/src/main/resources/templates/login.html
+++ b/src/main/resources/templates/login.html
@@ -25,7 +25,15 @@ 

Login

+ + + + \ No newline at end of file