묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
user service에서는 토큰 검증을 하지 않나요?
제가 작성한 user-service SecurityConfig 입니다강의 내용과 최대한 유사하게 작성한거 같은데 GET /users에서 403이 발생하여 문의드립니다.gateway service에서 토큰 검증을 하여도 user service에서는 검증된 토큰인지 알 수 없으니 403이 발생하는게 맞는거 같은데 강의에서는 api가 제대로 동작하여 왜 그런지 궁금합니다 @RequiredArgsConstructor @Configuration public class SecurityConfig { //AuthenticationManager가 인자로 받을 AuthenticationConfiguraion 객체 생성자 주입 private final AuthenticationConfiguration authenticationConfiguration; private final JwtProvider jwtProvider; private static final String[] WHITE_LIST = {"/login", "/h2-console/**", "/health-check", "/welcome", "/join"}; @Bean public SecurityFilterChain config(HttpSecurity http) throws Exception { AuthenticationManager authenticationManager = authenticationManager(authenticationConfiguration); AuthenticationFilter authenticationFilter = new AuthenticationFilter( authenticationManager, jwtProvider); http.csrf(csrf -> csrf.disable()) //CSRF 보호를 비활성화. REST API 환경만 비활성화. Web Form 기반에서는 필요. .formLogin((auth) -> auth.disable()) // .httpBasic((auth) -> auth.disable()) .headers(header -> header.frameOptions( frameOptionsConfig -> frameOptionsConfig.disable()) ) //h2 console iframe을 사용하기 때문에 X-Frame-Options 헤더를 비활성화 .authorizeHttpRequests(auth -> auth.requestMatchers(WHITE_LIST).permitAll() .anyRequest() .authenticated() ) .authenticationManager(authenticationManager) .addFilterAt(authenticationFilter, UsernamePasswordAuthenticationFilter.class) .sessionManagement((session) -> session .sessionCreationPolicy(SessionCreationPolicy.STATELESS)); return http.build(); } //AuthenticationManager Bean 등록 @Bean public AuthenticationManager authenticationManager(AuthenticationConfiguration configuration) throws Exception { return configuration.getAuthenticationManager(); } @Bean public BCryptPasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
실행이 안돼요 ㅠㅠ
최신버전으로 다운 받았는데도 실행이 안돼서 강의를 진행할 수 없습니다. ㅠㅠ 어떻게 해야하나요. 자세히좀 알려주세요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
실행이 안돼요 ㅠㅠ
최신 버전으로 다운받고 했는데 실행이 안돼요.. 공부를 진행하고 싶어도 이거때문에 시간만 보내고 진행이 안돼네요 ㅠㅠ
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
CsrfCookieFilter 역할?
해당 필터는 단순히 Supplier로 감싸진 CsrfToken을 getToken()을 통해서 초기화를 진행하고 있습니다 GET 방식이면 어차피 CsrfFilter에서 바로 다음 필터로 넘어가고 POST면 CsrfFilter에서 토큰 비교를 하기 위해서 초기화를 CsrfFilter에서 하는데 CsrfCookieFilter는 왜 필요할까요? 여러 가지 케이스로 디버깅하면서 좀 더 살펴봤는데특정 페이지에서 POST 요청을 하는 버튼이 있으면 먼저 CSRF 토큰을 발급해서 클라이언트에 저장이 되어있어야 POST 요청에서 토큰을 쿠키에 꺼내어 검증할 수 있기 때문에GET 요청에도 getToken()을 통해서 초기화가 진행되고 해당 초기화 과정에 saveCookie 로직이 있기 때문에클라이언트 쿠키에 토큰이 저장되는 걸로 추측했습니다
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
강의 프로젝트는 Todo리스트 인가요 쇼핑몰 인가요?
안녕하세요 강사님.현재 섹션5를 보고 있는데 프로젝트가 어떤 프로젝트인지 헷갈려서 질문 드립니다. 섹션 1,2,3 을 보면 투두리스트 인것 같은데갑자기 섹션4부터는 product나 상품들도 나오고, 그 뒤 섹션들을 보면 장바구니도 나오고 하던데 최종적으로는 어떤게 만들어지는 건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
08:55 테스트 이후에 파라미터 id 값을넣어도 에러가 뜹니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] JdbcTemplateMemberRepository 클래스내의메서드에 id파라미터가 없어서 에러가 떴다는 내용인데.. 그래서 넣어줬습니다.@Override public Optional<Member> findById(Long id) {//리스트 형태로 반환 하기 List<Member> result = jdbcTemplate.query("select * from member where id =? ", memberRowMapper(), id);//parameter 셋팅 id return result.stream().findAny(); } 그런데도 에러메시지에 이런 내용이 뜨네요Could not detect default configuration classes for test class [hello.hello_spring.service.MemberServiceIntegrationTest]: MemberServiceIntegrationTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
이 강의에 세션을 사용해서
로그인한 사용자가 저의 localhost8080서버가 다시 재작동해도 로그인이 유지되게하는 강의 내용도있을가요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Slf4j log cannot find symbol 오류 해결방법
intelliJ 에서 Slf4j 추가한 상태에서 log.info(header); 부분에서 나는 오류 해결방법java: cannot find symbol symbol: variable log
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
CSRF 통합 로그인 계정 및 로그인 후 Whitelabel Error
CSRF 통합 강의에서 17분쯤에 user 1111 계정이 아니라 ddd로 입력을 하시는데 UserDetails로 설정 하지 않으신 것 같은데 어떻게 로그인이 되는 건지 궁금합니다.로그인 후 Whitelabel Error가 뜨는 경우는 어떤 부분을 수정하면 될까요? 이 강의를 수강하면서 해당 오류가 많았습니다. 로그인이 된 경우도 있고 안 된 경우도 있었습니다.
-
미해결스프링 배치
retry count 관련 질문
안녕하세요 강사님 좋은 강의 감사드립니다.해당 RetryListener 예제에서 조금 이해되지 않는 부분이 있어 글 남깁니다.CustomItemProcessor에서 아이템이 2일 때 예외가 1번 발생하고 CustomItemWriter에서도 아이템이 2일 때 예외가 1번 발생(예외 총 2번 발생)CustomRetryListener의 onError() 메소드가 총 2번 호출되는데 두 번째 호출될 때 context.getRetryCount()가 2로 찍혀야 되는 것이 아닌가 생각이 들었습니다.제가 해당 예제를 따라서 실습할 때도 그렇고 강의 화면을 봐도 retry count가 모두 1로 찍히고 있습니다.동일한 아이템이어도 process할 때와 write할 때 retry count가 다르게 적용되는 것일까요..?확인해주시고 답변 주시면 많은 도움이 될 것 같습니다.감사합니다.
-
미해결스프링 부트 - 핵심 원리와 활용
MyContainerInitV1 실행 시 오류
04-Dec-2024 22:31:59.700 심각 [main] org.apache.catalina.startup.ContextConfig.processServletContainerInitializers 이름이 []인 컨텍스트를 위한 ServletContainerInitializer들을 탐지하지 못했습니다. java.io.IOException: java.lang.ClassNotFoundException: hello.container.MyContainerInitV1 at org.apache.catalina.startup.WebappServiceLoader.loadServices(WebappServiceLoader.java:234) at org.apache.catalina.startup.WebappServiceLoader.load(WebappServiceLoader.java:202) at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1756) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1256) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:961) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:290) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:109) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4311) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:566) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:653) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:599) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1853) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:494) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:385) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1593) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:267) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:109) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:389) at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:336) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:743) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:771) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1170) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1160) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:716) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:203) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:415) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:866) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.startup.Catalina.start(Catalina.java:755) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:470) Caused by: java.lang.ClassNotFoundException: hello.container.MyContainerInitV1 at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1212) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1043) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:467) at org.apache.catalina.startup.WebappServiceLoader.loadServices(WebappServiceLoader.java:231) ... 45 more 04-Dec-2024 22:31:59.702 심각 [main] org.apache.catalina.startup.ContextConfig.configureStart 이전 오류(들)로 인하여, 이 애플리케이션이 가용하지 않은 것으로 표시합니다. 04-Dec-2024 22:31:59.720 심각 [main] org.apache.catalina.core.StandardContext.startInternal 하나 이상의 구성요소(들)이, 해당 컨텍스트가 올바로 설정되지 않았다고 표시했습니다. 04-Dec-2024 22:31:59.728 심각 [main] org.apache.catalina.core.StandardContext.startInternal 이전 오류들로 인해 컨텍스트 []의 시작이 실패했습니다.MyContainerInitV1 클래스와 resources 파일 아래에 정확하게 파일을 생성하였는데 다음과 같은 오류가 발생합니다. 어떻게 해결할 수 있는지 확인해주시면 감사하겠습니다 ㅠㅠ
-
미해결스프링 부트 - 핵심 원리와 활용
내부 클래스 static 안할 시 오류
[ImportSelectorTest 시 StaticConfig 내부 클래스 static 사용이유]안녕하세요. 테스트할 때 StaticConfig 내부 클래스에 static 키워드를 붙이지 않고 테스트를 하니 아래와 같은 오류가 발생하는데요. 이유가 무엇인가요?Error creating bean with name 'importSelectorTest.StaticConfig': Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'hello.selector.ImportSelectorTest' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'importSelectorTest.StaticConfig': Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'hello.selector.ImportSelectorTest' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
jdbc 설정이후에 재접속 16:00
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]회원목록이 안뜹니다. org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Wrong user name or password [28000-232] 라는 에러가 뜨네요.
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
rest 로그인 방식 rememberMe 처리
RestApiDsl 에서 rememberMeService가 처리가 되는데json 방식으로 통신 시 remember-me 파라미터를 받지못합니다. AbstractRememberMeServices 를 상속받아 따로 처리해야 하는 건지 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
JPA save 때 동일 컬럼이 두 번 선언되는 현상이 있습니다.
두 개의 테이블을 OneToOne으로 연관관계를 설정하여 JPA 로 account와 authority테이블을 한 번에 save하는 로직을 강의 내용을 응용하여 개발하고 있습니다.save를 통해 저장하려고 하면 insert 구문에 LOGIN_ID가 두 번 지정되어 쿼리가 날아가는 현상이 있는데 어느 부분이 잘못된 것인지 도움 부탁드립니다..(쿼리문 예시insert into LOGIN_ACCOUNT (LOGIN_ID, ~~~, login_id)select SCOPE_IDENTITY() AS GENERATED_KEYS', ~~~, form에서 입력받은 실제 id값) 아래는 소스 내용의 일부입니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
순수JDBC 문제
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]다 음 메서드에서 DataSourceutils가 빨간밑줄이 뜹니다.어떤 조치를 취해야 하나요? 임포트를 임의로 넣어줘도 JDBC에만 빨간밑줄이 쳐집니다. import org.springframework.jdbc.datasource.DataSourceUtils;private Connection getConnection() { return DataSourceUtils.getConnection(dataSource); }private void close(Connection conn) throws SQLException { DataSourceUtils.releaseConnection(conn, dataSource); }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원가입 테스트 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]테스트는 초록불이 켜지는데 콘솔창에는이런 내용이 뜹니다.. 이건 왜이런건가요? 어떻게 해결하죠?현재 build.gradle는이 상태 입니다
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
섹션4 - 목록처리(2)에서 페이지를 두번 클릭해야 정보를 불러옵니다.
목록처리(2) 에서 refresh 까지 다 하고 하단에 페이지 넘버를 클릭하면 어떨때는 두번 눌러야 화면이 넘어가는 경우가 있습니다.브라우저 개발자 도구의 콘솔탭에서 확인해보니 아래 이미지처럼 current가 각기 다르게 두번 불러오는데요(현재 2페이지에서 1페이지를 눌렀을때의 결과 입니다.)리액트에서 두번 불러오는거에 대해서 언급하신게 있었는데 제가 놓친부분이 있는건지... 이렇게 되는 이유를 모르겠습니다.혹시 몰라 압축파일로 제 구글 드라이브에 올려놓았습니다. (https://drive.google.com/drive/folders/1TQxdqkRD8xvXIHzVoI5fp2hm_HZaE0aT)감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2.sh 실행
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]윈도우 파워셀로 실행하려는데 chmod 755 명령어가 안 됩니다. 'chomod' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 라고 뜨는데 어떡하나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2 데이터베이스 경로 설정
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이렇게 설정하고 연결을 눌러도 연결이 되지 않는 이유를 모르겠습니다.!이런 오류가 뜨네요. ㅠ윈도우 사용자입니다!그리고 실행 자체를 cmd에서 명령어 입력 말고 설치하니 생긴이 파일로 실행을 해도되는건가요?