묻고 답해요
144만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 시큐리티 OAuth2
로그인 인증 후 처리 질문입니다.
처음 로그인 인증처리받을때는 인가서버로부터 code를 받기 전에 유저의 동의가 필요하므로 유저가 아이디, 비밀번호를 입력하는 과정이 필요합니다. 그리고 이후 로그인 인증처리 완료되면 서버 세션에 SecurityContext 가 저장되고 인가서버에도 해당 유저의 세션이 저장되고 인증처리가 끝납니다. 근데 서버를 종료하고 재시작하면 서버의 세션이 초기화되므로 인증처리가 처음부터 다시 시작해야 될거같은데 서버 종료 후 다시 인증처리 받기 시작할땐 유저가 아이디, 비밀번호를 입력하는 과정 없이 authorizationEndpoint로 인가서버에 요청하기만 하면 인증과정이 성공합니다. 이유가 뭔가요?
-
미해결스프링 시큐리티 OAuth2
인증성공 후 로직 질문입니다.
지금 처음 인증성공받을때 인가서버로부터 accessToken 발급받고 이 토큰으로 유저정보 가져와서 인증성공후 securityContext, 세션에 저장합니다. 그리고 인증성공받은 이후에는 그러면 인증받았는지 안받았는지는 세션에서 SecurityContext 객체를 가져와서 인증여부를 체크하는건가요? 그렇다면 OAuth2 사용하지않고 그냥 Spring Security만 사용했을때랑 차이가 처음 인증과정만 달라지는거고 이후에는 똑같이 인증객체를 세션에 저장해서 사용하는거니까 인증후에는 로직이 똑같은건가요?
-
미해결스프링 시큐리티 OAuth2
logoutHandler 질문입니다.
로그아웃 api 설정에선 logoutSuccessHandler, invalidateHttpSession, clearAuthentication, deleteCookies 만 설정했는데 logoutFilter에 왜 인가서버에 로그아웃을 요청하는 logoutHandler가 있는건가요? OAuth2 라이브러리 의존성 추가하면 자동으로 추가되는건가요? 맞다면 logout api설정으로 먼저 클라이언트에서 세션, 쿠키, 인증 객체를 제거하고 이후 인가서버에서 해당 유저의 세션을 제거하는 logoutHandler가 호출돼서 인가서버에서 세션 삭제하고, 로그아웃 성공했으니 logoutSuccessHandler에서 설정한 RedirectUri로 이동하는건가요? 아니면 클라이언트에서 인증정보 제거후 logoutSuccessHandler에 설정한 객체가 호출돼고 이 Handler에서 인가서버에 세션제거하고 redirect하게 하는건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberService 통합테스트에 MemberRepository 질문 입니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]MemberService 통합 테스트시MemberService와 MemberRepository를 @Autowired로 의존성을 주입하는데요여기서 MemberRepository를 주석처리 해도 테스트가 잘 되는데SpringConfig에서 주입해주기 때문일까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
빌드 오류
처음에 실행시 오류가 발생합니다. java 17이상, spring3.3 이상이라 gradle >intelliJ 로 변경 안했습니다. 변경하면 오류는 없는 것으로 보이나 추후에 다른 문제가 생길까 하여 미리 여쭤봅니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
http://localhost:8081/hello 호출하면 404에러떠여
plugins { id 'java' id 'war' id 'org.springframework.boot' version '3.3.4' id 'io.spring.dependency-management' version '1.1.6' } group = 'hello.servlet' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() }말씀주신대로 설정도 다했고 무료버전 아닌데 /hello로 호출할때 404에러가 뜹니다 ㅠㅠ
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
JAVA 강의를 어느정도까지 학습하고 Spring을 동시 학습하면 좋을까요?
안녕하세요! 김영한님의 JAVA와 Spring 강의를 수강하고 있습니다.국비지원학원에서 Spring으로 2개의 프로젝트를 했지만 기본기가 약해, 초반부터 다시 학습하고있습니다.제 목표는 Spring과 JAVA를 이해한 뒤, 토이 프로젝트를 진행해 보고자 하는것입니다.질문드리고 싶은 것은,1. JAVA 어느 정도까지 강의를 본 다음 Spring을 병행하여 공부하면 좋을지 궁금합니다.또는, JAVA의 어떤 개념까지 이해를 하고 Spring을 병행하여 공부하면 좋을지 궁금합니다.(토이프로젝트 진행을 위해 Spring을 미리 공부해보고 싶습니다.)
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
4분에 실행시 MemberserviceTest에서 오류가 나요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]사진과 같은 오류가 나서 실행이 안 되는데, 어떻게 고쳐야 하나요?
-
미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
zip파일 다운받아서 풀었는데도 계속 오류가 생기네요
Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Thu Oct 10 12:40:49 KST 2024There was an unexpected error (type=Not Found, status=404).No message availablezip파일 풀었는데 저 오류가 나왔어요 왜그런걸까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
findByName(String name) 메소드
[질문 내용]강의에서 배운대로 JpaRepository 인터페이스에 findAll(), findByName(), findById(), save() 메소드들이 다 수록이 되어 있어 개발자가 임의로 새로운 이름의 메소드만 선언할 때 작성하는 것으로 알고 있습니다.그렇다면 SpringDataJpaMemberRepository 인터페이스에서 MemberRepository 인터페이스를 상속하니까 findbyName(String name)메소드도 생략해도 상관없지 않나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2 사이트 안열림 문제
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.3:40초 근처에 h2/bin폴더안에서 cmd를열고 ./h2.sh를 입력하는 것을 따라 했으니 visual studio에서 h2.sh파일이 열린것 외엔 아무것도 나오지 않았습니다.cmd를 확인해보니 이러한 문구가 나와 있었습니다.[main 2024-10-09T21:04:03.696Z] update#setState idle[main 2024-10-09T21:04:33.705Z] update#setState checking for updates[main 2024-10-09T21:04:33.793Z] update#setState idle큰 문제는 없는것 같은데 왜 아무것도 안나오는지 모르겠습니다 ㅠㅠ이러한 문제는 어떻게 해결해야할까요?
-
미해결스프링 시큐리티 OAuth2
openid 질문입니다.
Scope 에 openid 가 포함되어 있으면 OidcAuthorizationCodeAuthenticationProvider 를 호출하고 아니면 OAuth2AuthorizationCodeAuthenticationProvider 를 호출하도록 제어된다고 돼있는데, 최신버전의 keycloak에선 scope에 openid가 없으면 에러가 발생하도록 돼있어서 반드시 openid를 포함시켜줘야 하는데, 그러면 인가서버로 keycloak 쓸때는 OidcAuthorizationCodeAuthenticationProvider 가 호출된다고 보면 되겠네요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
JAVA SDK설정 + gradle 설정관련
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.질문 1) intelli j 설정 중 setting에 들어가서 gradle을 검색하고 설정에 들어가니까 영한님이 띄운 설정 화면과 다르게 나와서 질문 드립니다 저는 왜 밑에 설정 하는게 안뜰까요?+혹시 몰라서 dependency 부분도 올립니다. 질문 2) sdk 설정에서 jdk 분명 23설정하고 혹시 몰라서 21 oracle 꺼로 하나 더 설치하고 servletApplication.java 파일을 실행하려고 해도 안되서 나갔다도 와보고 했는데 설정이 안바뀝니다. 그래서 혹시 src 디렉토리에 넣어야하나 싶어서 거기 설치하려고하니까 '타겟경로가 비어있지않은 기존디렉토리입니다' 라고 뜹니다. 어떻게 해야할까요?
-
미해결스프링 시큐리티 OAuth2
스프링시큐리티 기본 제공 password 질문입니다.
프로젝트 의존성에 implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'즉, oauth2 의존성을 추가하면 프로젝트 실행시 콘솔에 스프링 시큐리티가 기본으로 제공하는 password가 안나오는데 oauth2 의존성을 제거하고 실행해보면 기본으로 제공하는 password가 콘솔에 나옵니다. 강의랑 다른거 같은데 이유가 뭘까요? 최신버전에 따른 차이인가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 부트 프로젝트 생성 - 환경설정 문제
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]해당 문제가 발생합니다 아마 자바 버전 문제때문에 발생되는것같습니다. 혹시위의 그림과같이 환경설정을 java23으로 했을시 수업내용을 따라가기가 어려울까요? 수업자료에 업데이트 되어있는 버전대로 진행해도 계속 첫번째 사진과 같은 에러가 나타납니다.ㅠ
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
오타인 것 같습니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]5. 자바 예외 이해.pdf (v20231127) 6페이지에MyUncheckedException이라고 써져 있는데 MyCheckedException으로 바꿔야 할 것 같습니다
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스펙
[질문 내용] 섹션7 스프링 DB 접근 기술에 JPA 강의를 듣고 있다가 16분 23초 쯤에 강사님이 스펙이라는 얘기를 하셨는데 스펙이 무엇인지 궁금합니다.
-
미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
가격 수정만 자꾸 에러페이지로 갑니다...ㅜ
MyException Class 오류발생 =>com.boot.sailing_jsp.v2.service.MenuSvcV2rror Error Error Error : My Exception 처리 => [[ ### Error updating database. Cause: java.sql.SQLSyntaxErrorException: (conn=4058) Truncated incorrect DECIMAL value: '1>'### The error may exist in file [C:\Users\mins1\OneDrive\Desktop\Sailing_jsp\build\resources\main\sqlmapper\v2\CoffeeMenuV2.xml]### The error may involve defaultParameterMap### The error occurred while setting parameters### SQL: Update coffee_menu set price = CAST(? as INTEGER) WHERE no in ( ? )### Cause: java.sql.SQLSyntaxErrorException: (conn=4058) Truncated incorrect DECIMAL value: '1>'; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: (conn=4058) Truncated incorrect DECIMAL value: '1>' ]] 이렇게 오류가 뜨는데 해결 못한지 3일째예요ㅠㅠ
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
교재에 있는 index.html이 열리지않네요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네[질문 내용]여기에 질문 내용을 남겨주세요.강의자료로 주신 내용그대로 작성후 서버실행하고 url입력하면 다음과 같이나타납니다. 어떻게 해결하나요??jdk는 21쓰고 인텔리제이는 무료버전씁니다. jdk버전도 17도 바꿔보고, 인텔리제이 다시 깔아보고 하는데도 인식을 못하네요
-
해결됨스프링 프레임워크는 내 손에 [스프1탄]
UsernamePasswordAuthenticationToken 생성에 대해서 질문이 있습니다.
새로운 Authentication 생성시에,public Authentication createNewAuthentication(Authentication currentAuth, String username) { UserDetails newPrincipal = this.loadUserByUsername(username); UsernamePasswordAuthenticationToken newAuth = new UsernamePasswordAuthenticationToken(newPrincipal, currentAuth.getCredentials(), newPrincipal.getAuthorities()); newAuth.setDetails(currentAuth.getDetails()); return newAuth; }위 코드에 관하여 질문드립니다.currentAuth.getCredentials()는 현재 SecurityContext에 있는 Authentication의 비밀번호를 가져와서 newAuth생성에 쓰임으로 알고있는데요.이 때, 비밀번호를 수정한 경우에는.. newPrincipal.getCredentials() 라고 고친 메서드를 써야할까요?아니면 Authentication을 바꿔서 유지해주기보다 로그아웃시켜서 다시 로그인해주는 방식이 옳을까요?