묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 시큐리티
Spring Security Core 6.1.0 버전
Spring Security Core 6.1.0 버전에서는 어떻게 코드를 적용해야 할지 모르겠습니다.
-
해결됨스프링 시큐리티
외부 Security Library 의 객체를 찾아내 디버깅 하는 방법이 궁금합니다
이전에도 같은 질문을 드렸었는데, 답을 받지 못해 다시 질문글을 작성합니다!!수업을 들으면서 강사님과 같은 부분에서 브레이크를 걸고 디버깅을 해보려고 했는데, 해당하는 각 객체들 (FilterChainProxy 등등) 을 어떻게 찾아서 들어가야 하는 지를 모르겠습니다 ㅠㅠ command + shift + f 로 검색해도 나오지가 않는데,혹시 정확한 repo 위치를 알아서 각 객체를 하나씩 보는 방식(?) 으로 접근해야 하는 걸까요?
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
userDetailsService의 user정보에 대한 질문입니다.
안녕하세요 호돌맨님!먼저 좋은강의 너무너무 감사드립니다.시큐리티 Permission Evaluator 강의에서 알려주실때 컨트롤러로 부터 넘어온 userprincipal 의 id를 이용하여 postService.wirte에서 userRepository에서 user를 조회하셨는데요질문리퀘스트가 들어올 때 userDetailsService에서 user를 이미 조회를 하고 해당 유저 정보를 UserPrincipal에 넘겨서 거기서 id만을 이용하여 다시 서비스단에서 user를 조회하고있는데요 userDetailsService단에서 미리 조회해둔 user정보를 userPrincipal에 넘겨서 서비스단(postService.write)에서는 user를 다시 조회하지않고 userPrincipal에서 넘어온 user정보를 사용하면 안되는건가요?날씨가 많이 추워졌는데 감기조심하시고 남은한해도 좋은일만 가득하세요!
-
미해결스프링부트 시큐리티 & JWT 강의
혹시 마지막 강의 27강 11분쯤 Header에 토큰값 못가져오는경우
안녕하세요. 혹시 PostMan으로 Authorization 체크 해제 후 Post했을때 500error 뜰경우 ( MyFilter3 에 nullpoint오류 )Spring Security 설정에서 MyFilter3() 필터설정부분 주석해주시면 정상적으로 진행됩니다~!
-
해결됨호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
@Getter 애노테이션 역할
@Getter @RequiredArgsConstructor public class ErrorResponse { private final String code; private final String message; } 여기서 @Getter 애노테이션을 쓰는 이유가 무엇일까요?
-
미해결스프링 시큐리티
연결 부분
이런 내부 인증 과정을 세세하게 알 수 있어서 너무 좋습니다..근데 중간에 브레이킹 포인트 찍을 때 장면이 생략이 되서 중간 중간 부분이 아는 사람만 알게 넘어간 것 같아서 질문 드립니다.. 1)AbstractAuthenticaionProcesingFilter 해당 filter 에 attemptAuthentication 가 추상 메서드로 있는 상태에서 this.attemptAutehnticaion 했을 때 어떻게UsernamPasswordAutenticationFilter에 구현 된 attemptAutentication이 실행 되는지 2) UserNamePasswordAuthenticationFilter에서return this.getAuthenticationManager().authenticate(authRequest); public interface AuthenticationManager { Authentication authenticate(Authentication authentication) throws AuthenticationException; }impementation이 5개가 있는데 왜 ProviderManager 클래스로 넘어갈 수 있는 건가요? 3) ProviderManager에서 해당 인증을 처리할 수 있는 Provider인 DaoAuthenticationProvider에서 createSuccessAuthenticaion까지 가는 과정을 알 수 있을까요?
-
미해결스프링 시큐리티
anyRequest().authenticated() 접근 안 됨
@Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{ http .authorizeHttpRequests(authorize -> authorize .anyRequest().authenticated() ) ; return http.build(); }이런 식으로 설정을 했는데 아예 권한이 없어서(?) 접근이 안되는 403 에러가 나네요.. 해당 부분은 SecurityConfig 설정 하는 방법이 변경 되어서 나는 다른 점일까요?
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
Validation Map -> 어떻게 변경하는게 좋은지 궁금합니다.
안녕하십니까. 데이터 검증2 를 듣다가 궁금한점이 생겨서 질문을 남기게 되었습니다. @Getter @RequiredArgsConstructor public class ErrorResponse { private final String code; private final String message; private final List<Validation> validations = new ArrayList<>(); public void addValidation(String fieldName, String errorMessage) { this.validations.add(new Validation(fieldName, errorMessage)); } private record Validation(String fieldName, String errorMessage) { } } @Test @DisplayName("/posts 요청시 title 값 필수.") void test2() throws Exception { mockMvc.perform(post("/posts") .contentType(MediaType.APPLICATION_JSON) .content("{}") ) .andExpect(status().isBadRequest()) .andExpect(jsonPath("$.code").value("400")) .andExpect(jsonPath("$.message").value("잘못된 요청입니다.")) .andExpect(jsonPath("$.validations[0].errorMessage").value("title을 입력해주세요.")) .andExpect(jsonPath("$.validations[1].errorMessage").value("content를 입력해주세요.")) .andDo(print()); } 일단 Map -> List<Validation> 방식으로 수정해보았는데요@Setter @Getter @ToString public class PostCreate { @NotBlank(message = "title을 입력해주세요.") private String title; @NotBlank(message = "content를 입력해주세요.") private String content; }테스트 코드에서 0번째 에러메시지가 title을 입력해주세요 가 될 줄 알았는데 content를 입력해주세요 가 나와서 실패했습니다. (PostCreate 필드 순서대로 validations에 담길 줄 알았는데 예상되로 나오지 않았습니다.) -> 테스트 할 때마다 결과가 뒤죽박죽 이네요. 이러한 경우 어떻게 테스트 하는지 궁금합니다.또한 이렇게 만약 여러 error field가 잡히거나, 에러 메시지가 바뀌는 경우가 생기면 테스트 코드 수정이 빈번해 질 것 같은데 어떻게 해결할 수 있을지 궁금합니다.마지막으로 List<Validation> 방법 말고 조금 더 많이 쓰이는 ? 혹은 괜찮은 방법 있으면 추천해주시면 감사하겠습니다.
-
미해결스프링 시큐리티
CSRF token 질문
공격자가 링크를 누를때 user의 sessionId 와 CSRF 토큰을 공격자에게 넘겨 주도록 설정하면 token이 큰 의미가 없지 않을까요? token 이 어떠한 방식으로 공격자에게는 넘어가지 않고, server 에게만 전송이 되는 건지가 궁금합니다.
-
미해결스프링 프레임워크는 내 손에 [스프2탄]
강사님 감사 인사 드리러 왔습니다.
강사님 덕분에 잘 취업해서 살고 있습니다.취업해보니 강사님의 원리 위주의 강의를 들은 것이 많은 도움이 되고 있습니다.어려운 기술들 보다 Base되는 원리 하나를 잘 습득하는 게 참 중요하다는 걸 많이 느낍니다.뭐가 잘 안되면 블로그나 검색엔진을 사용하기 보다는 강사님 강의하면서 배운 내용을 다시금 봅니다.왜냐면 그 안에 현업에서 쓰는 기본적인 것들이 많이 담겨져 있기 때문입니다.조금 실력이 몇개월 쌓인 뒤에 보니 어려웠던 내용들도 쉬운건데 어렵다고 생각을 해서 어려웠구나 라는 생각도 하게 되네요특히 요약 파일 띄워놓으시고 마우스로 그리면서 설명해주시는 것이 정말 도움 많이!!! 됐습니다.Spring이 아니라 사물인터넷 mosquitto 들으러 인프런에 잠시 왔는데요예정보다 조금은 시간이 많이 흘렀지만 어떤 종류의 강의든 다음 강의를 기대하고 있습니다.중간중간에 답변도 늦지 않게 잘 해주셨던 기억이 있어서 더더욱 감사드립니다.행복한 하루되시고 누군가에게는 긍정적인 큰 영향을 주셨다는 거 기억해주세요.선생님 아니였으면 취업 준비하다가 포기했을 거 같아요.(진심)좋은 하루 되세요^^-선생님 모든 강의를 다 구독한 1人 올림-
-
미해결스프링 시큐리티
AjaxLoginProcessingFilter을 Bean등록시 에러
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ajaxLoginProcessingFilter' defined in class path resource [io/security/corespringsecurity/security/config/SecurityConfig.class]: authenticationManager must be specified AuthenticationManager를 빈으로 등록해야 할거 같은데강의랑 버전차이가 나서 쉽지가 않네요 OOQanT/SpringSecurity (github.com)
-
미해결스프링부트 시큐리티 & JWT 강의
컴파일 오류가 뜹니다.
따라 쳤는데 왜 이런 오류가 뜨는지 알고 싶습니다. 깃허브에 코드도 없는 것 같아서 질문 드립니다.
-
해결됨스프링 시큐리티
메인 화면에서 login클릭해서 이동할때 오류
메인 화면에서 로그인 하지 않은상태에서 이동하면 오류가 나는데, 7:25초경 top.html에서 @{/api/login} 이걸로 수정하면 안되는 것 같습니다. 해당경로는 Post방식으로 요청해야 하는 ajax 인증처리 url인데 해당 영상에서 수정하신 경로는 로그인 화면으로 이동해야 하는 Get방식의 요청입니다. 제 생각이 맞을까요??
-
미해결스프링 시큐리티
로그인 페이지에 접속 하기만 해도 JSSEISONID 값을 가집니다
Cookie 값을 삭제 하며 여러 동작을 해보던 도중,로그인을 하기 전부터 JSSESSIONID 값이 cookie 에 들어가 있는 것을 확인하였습니다. 처음에는 오류인가 싶어 값을 삭제하고 로그인하였더니, 로그인이 동작하지 않고 그냥 페이지가 reload 된 다음 임의의 JSSESSIONID 값을 가져왔습니다. 왜 reload 할 때마다 JSSESSIONID 값을 가져오는 걸까요? 그리고 왜 JSSESSIONID 값 없이는 로그인 동작 자체가 안 되는 걸까요?
-
미해결스프링 시큐리티
외부 library의 security 관련 객체를 검색하는 방법이 궁금합니다
수업을 들으면서 강사님과 같은 부분에서 브레이크를 걸고 디버깅을 해보려고 했는데, 해당하는 각 객체들 (FilterChainProxy 등등) 을 어떻게 찾아서 들어가야 하는 지를 모르겠습니다 ㅠㅠ command + shift + f 로 검색해도 나오지가 않는데,혹시 정확한 repo 위치를 알아서 각 객체를 하나씩 보는 방식(?) 으로 접근해야 하는 걸까요?
-
미해결스프링부트 시큐리티 & JWT 강의
권한 처리 세션 사용
유익한 강의 감사드립니다.질문이 있습니다.권한처리를 위해 세션을 사용하게 되면서버가 여러대일 경우어떤 서버에는 권한정보가 있고어떤 서버에는 없을 수도 있지 않나요?이런 경우 스프링 시큐리티가 자동으로 알아서 처리를 해주는건가요?세션을 사용하지 않고 JWT 를 사용하는 이유중에 하나가서버가 여러대 일 경우의 세션 문제를 해결하기 위함도 있다고 하셨는데마찬가지로 서버가 여러대라면 권한처리를 위한 권한정보를 동일하게 맞춰(?) 주는 무엇인가가 필요하지 않나요?
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
class active 관련 질문
현재 강의를 보면 Home에만 계속 active가 적용되어 있는데Home을 클릭하면 Home에만 active,게시판을 클릭하면 게시판에만 active 설정은 어떻게 하는 건가요?
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
작동이 잘 안되요
프로젝트 다운 받아서 쓰는데 작동이 잘 안됩니다.
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
memberMapper 빨간줄
저는 이 부분이 빨간줄인데 어디서 잘못된 건지자동완성도 안 뜨더라구요ㅜㅜ어느 부분이 잘못된지 모르겠습니다.
-
미해결[초급] 찍어먹자! 코틀린과 Spring Security + JWT로 회원가입 만들기
DTO 생성 과정에서 궁금한 점이 있어요!!
DTO를 생성할 때 코드가 너무 많이 생성되는데 더 간편하고 쉽게 벨리데이션 처리할 수 있는 방법은 없을까요?