sonbbang
@sonbbang
Reviews Written
-
Average Rating
-
Posts
Q&A
์ด๋ฏธ์ง api
์์ง ๋ฏธํด๊ฒฐ๋ ๊ฒ์ผ๊น์?
- 0
- 2
- 475
Q&A
EXIT_CODE ๋ฐ์ ๋ฌธ์
JobExecution ๊ธฐ๋ก์ STATUS๋ COMPLETED์ง๋ง EXIT_CODE ๊ฐ FAILED๋ก ๊ธฐ๋ก๋๋ ๊ฒ์ด ๋ง์ต๋๋ค. Job์ ๊ณผ์ ์ค ํ๋์ ์คํญ์ด๋ผ๋ ์คํจํ๊ฒ ๋๋ค๋ฉด EXIT_CODE์๋ FAILED๋ก ๊ธฐ๋ก์ด ๋ฉ๋๋ค. SimpleFlow ์์ ์ฑํฐ 14:24์ด ๋์์ ํ์ธ
- 0
- 2
- 396
Q&A
์๋ ํ์ธ์ ๊ฐ์ฌ๋ ์ธ์ ๊ด๋ จ ์ง๋ฌธ์ ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์ ๊ฐ์ฌ๋ ๋ต๋ณ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค. ์ถ๊ฐ ๋ฌธ์ ์ข ํ๊ฒ ์ต๋๋ค.. ํน์ ์ Logout์ฒ๋ฆฌ ๋ถ๋ถ์์ ์ ๋ชป ์ฒ๋ฆฌ ๋๊ฒ ์์์ง ์ข ์๋ ค์ฃผ์ค ์ ์์ผ์ญ๋๊น? config ์ชฝ ๋ก๊ทธ์์ ๊ด๋ จ ์ค์ ์ ๋๋ค. @Overrideprotected void configure(HttpSecurity http) throws Exception { .logout() .clearAuthentication(true) .logoutRequestMatcher(new AntPathRequestMatcher("/api/v1/logout")) .logoutSuccessHandler(new LogoutHandler(homeService)) ๋ก๊ทธ์์ ํจ๋ค๋ฌ @Slf4j@RequiredArgsConstructorpublic class LogoutHandler extends SimpleUrlLogoutSuccessHandler implements LogoutSuccessHandler { private final HomeService homeService; @Override @Transactional public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException { LoginCode logout = homeService.logout(request, response); log.info("logout result : {}", logout.getDescription()); ResponseCookie refreshToken = homeService.removeCookie(request); response.setHeader("Set-Cookie", refreshToken.toString()); this.setDefaultTargetUrl("/login"); super.onLogoutSuccess(request, response, authentication); }} ์ด๋ฒ์ QA๋ฅผ ์งํํด๋ณด์๋ ํ PC์์ ๋ก๊ทธ์ธ์ ํ ์ํ์์, ๋ค๋ฅธ QA๋ถ๋ค (์ฝ10๋ถ ์ ๋) ๊ฐ ๋ก๊ทธ์ธ/๋ก๊ทธ์์์ ๋ฐ๋ณต ์ํํ์ต๋๋ค. ๋์ผํ๊ฒ RoleVoter๋, IpVoter์ชฝ์์ context ๊ฒ์ฌ ํ AuthenticationEntryPoint ์ด์ชฝ์ ๊ฑธ๋ ธ์ต๋๋ค. removeCookie ์ชฝ์๋ ๋จ์ํ ์ฟ ํค์ age๋ฅผ 0์ผ๋ก ์ฌ์์ฑํด์ฃผ๋ ์ฟ ํค ์ ๊ฑฐ function ์ ๋๋ค. ๋ก๊ทธ์์ ๊ณผ์ ์์ ์ด๋ค ๋ฌธ์ ๊ฐ ์๊ธธ๋ ๋ชจ๋ context๊ฐ ์ฒ๋ฆฌ ๋๋์ง ์๊ณ ์ถ์ต๋๋ค.. ๊ฐ์ฌํฉ๋๋ค...! ์ง๋ฌธ update clearAuthentication ์ด๋ถ๋ถ์ด ํน์ ์ ์ฒด authentication์ ์ญ์ ๊ฐ ๊ฐ๋ฅํ๊ฐ ์ถ์ด์ ๋ด๋ถ๋ฅผ ํ๊ณ ๋ค์ด๊ฐ๋ ํ์ฌ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ ๊ฑฐํ๋ค๋ผ๋ ๋ก์ง ๊ฐ๊ธฐ๋ง ํ๊ณ ์ ๊ฐ ์ฐ๋ คํ ๋ถ๋ถ์ ์๋๋๋ผ๊ตฌ์. ip hash๋ฑ์ ์์ ๋ฐฉํธ์ผ๋ก ์ด๊ฒ์ด ํด๊ฒฐ์ด ๋๋ ๊ฑด๊ฐ ์ถ์๋๋ฐ. ๊ธ์ผ ๋ผ์ด๋ธQA์์๋ ๋์ผํ ํ์์ด ๋ฐ์ ํ์ต๋๋ค. ๊ฐ์ฌ๋์ ์ง๋ฌธ์ ๋ํด์ ์ ๊ฐ ์ ๋ฆฌ๋ฅผ ํด๋ณด๋ฉด request๊ฐ ๋ค์ด์ค๋ฉด filter์์ ์ ๊ฐ ์์ฑํ context ๋ก rolevoter ๋ฑ์ด ์ฒดํฌ๋ฅผ ํ๊ณ response ํ ๋ context๊ฐ ์์ด์ง๋ ๊ฒ ๊ฐ์๋ฐ... ์ผ๋ฐ์ ์ธ java RequestContext ๊ฐ์ ๊ฒ๊ณผ ๊ฐ์ ์๋ฏธ๋ก ์ ์ดํดํ์ต๋๋ค. ๊ทธ๋ผ logout์ชฝ์ clearAuthentication ์ด๋ logoutHandler์ชฝ์ SecurityContextHoler.getContext().setAuthentication(null); ์ด๋ฐ ์ ์ ์ ์ํด์ค๋ ๋๋ ๊ฑธ๊น์?? ์ด์ฐจํผ ํ๋์ request ์์์๋ง ์์ฑ ๋๊ณ ์์ด์ง๋ context ์ด๋๊น์. ๊ฐ์ฌํฉ๋๋ค. ์๊ฐ์ ์ฌ๋ฆผ. https://www.inflearn.com/questions/53657 ์ด๊ฑฐ๋ ๋น์ทํ ์ด์์ธ ๊ฒ ๊ฐ๊ธฐ๋ ํ๊ตฌ์..
- 0
- 2
- 439
Q&A
querydsl ์ด ์๋ฉ๋๋ค.ใ ใ
classpath("gradle.plugin.com.ewerk.gradle.plugins:querydslplugin:1.0.10") querydsl-plugin ์คํ๋ค์
- 1
- 3
- 11K
Q&A
15๋ถ 11์ด์ฏค ํ์ธํ๋ ๊ณผ์ ์ง๋ฌธํฉ๋๋ค!
์ ๋ ํท๊ฐ๋ฆฌ๋ ๋ถ๋ถ์ด์์ต๋๋ค. save-result.jsp๋ฅผ ์์ ํ๊ณ ์ค์ ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ฟ๋ ค์ฃผ๋ ๊ฑด save.jsp ์์ต๋๋ค.
- 0
- 5
- 433
Q&A
ํ ์คํธ ์ค๋ฅ ์ง๋ฌธ๋๋ฆฝ๋๋ค
IntelliJ ๋ฌด๋ฃ ๋ฒ์ ์ ๊ฒฝ์ฐ ํด๋น ์ค์ ์ IntelliJ IDEA๊ฐ ์๋๋ผ Gradle๋ก ์ค์ ํด์ผ ํ๋ค. ์ ๋ ๋์ผ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. > Task :compileJava UP-TO-DATE > Task :processResources UP-TO-DATE > Task :classes UP-TO-DATE > Task :compileTestJava UP-TO-DATE > Task :processTestResources NO-SOURCE > Task :testClasses UP-TO-DATE Could not write standard input to Gradle Test Executor 7. java.io.IOException: ํ์ดํ๊ฐ ๋ซํ๋ ์ค์ ๋๋ค at java.base/java.io.FileOutputStream.writeBytes(Native Method) at java.base/java.io.FileOutputStream.write(FileOutputStream.java:354) at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81) at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142) at org.gradle.process.internal.streams.ExecOutputHandleRunner.forwardContent(ExecOutputHandleRunner.java:68) at org.gradle.process.internal.streams.ExecOutputHandleRunner.run(ExecOutputHandleRunner.java:53) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) at java.base/java.lang.Thread.run(Thread.java:834) > Task :test FAILED Error: Could not find or load main class worker.org.gradle.process.internal.worker.GradleWorkerMain Caused by: java.lang.ClassNotFoundException: worker.org.gradle.process.internal.worker.GradleWorkerMain FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > Process 'Gradle Test Executor 7' finished with non-zero exit value 1 * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 6s 4 actionable tasks: 1 executed, 3 up-to-date
- 0
- 2
- 5.4K




