두번째 방식이 CustomProvider에 의해 처리가 되는 것이 이해가 되지 않습니다. 첫번째 방식과 단지 CustomProvider를 추가한 것만 다르다고 생각하는데 이로 인해 해당 CustomProvider가 선택된것인가요? 아니면 Dao방식은 parent에 존제하기 때문에 현재 list에 존제하는 custom방식이 채택된거라고 이해하면 될까요?
requestMatchers("/login").permitAll()로 /login에 대한 요청은 인증이 필요없게 설정했는데, .formLogin()을 설정하고 나서 "/login" 요청이 formLogin 방식의 필터에 걸리는 건가요? formLogin() 설정을 해도 이미 위에서 equestMatchers("/login").permitAll() 로 /login 에 대한 요청은 인증이 필요없으므로 필터에 걸리지 않고 바로 컨트롤러 PostMapping("/login")으로 가야되는거 아닌가요?
클라이언트마다 별도의 쓰레드가 할당되고 각 쓰레드별로 쓰레드로컬을 가지고있어 여기에 인증객체를 가진 SecurityContext가 저장된다고 설명해주셨습니다. 근데 제가 알기로 같은 사용자더라도 서버에 요청할때마다 다른 쓰레드가 할당되는걸로 아는데 아닌가요? 맞다면 같은 사용자이더라도 요청할때마다 별도의 쓰레드가 할당되므로, 이전 요청에서 로그인인증을 통해 저장했던 SecurityContext는 사용하지 못하는거 아닌가요?
당연히 구글링 해보셨져? 원하는 결과를 못찾으셨나요? 어떤 검색어를 입력했는지 알려주세 문제가 발생한 코드(프로젝트)를 Github에 올리시고 링크를 알려주세요. 안녕하세요 호돌맨님 .. 영상 잘보고 있습니다. 저는 Window 에서 영상보면서 공부를 하고있습니다. 근데 Vue 부분 부터 영상대로 따라 만들어보려고 우분투 설치 등 GPT 한테도 물어보면서 하려고했지만 도저히 못따라할거 같습니다 혹시 Window 로 하는 사람들은 어떤걸 참조하면서 하면 될까요?? 기존의 React 사용을 해봐서 Vue도 한번 따라해보고싶어서 따라 하는중입니다.
CustomAuthenticationFilter 관련 설명에서 AuthenticationManager는 빈이 아니기 때문에 주입받지 못해 @Bean 선언하면 안된다고 설명하셨는데요. AuthenticationManager를 bean으로 등록하고 CustomAuthenticationFilter를 bean으로 등록해서 AuthenticationManager를 주입받는 식으로 코드를 짜도 될 것 같은데 그렇게 하지 않은 이유가 securityFilterChain 내에서만 사용되기 때문에 bean으로 등록할 이유가 없기 때문인가요? 아니면 혹시 다른 이유가 있나요?
SecurityContextPersistenceFilter를 사용하고 폼 로그인 처리 방식을 사용한다고 하면 UsernamePasswordAuthenticationFilter를 사용할텐데 해당 필터는 스프링 시큐리티가 인증에 성공시 자동으로 세션에 시큐리티 컨텍스트를 저장한다고 했는데 SecurityContextPersistenceFilter 또한 finally에서 세션에 또 저장을 하니까 2번 저장하게 될까요?
안녕하세요 강의 재미있게 듣고 있습니다! SecurityContextPersistenceFilter를 사용하고 폼 로그인 처리 방식을 사용한다고 하면 UsernamePasswordAuthenticationFilter를 사용할 텐데 해당 필터는 스프링 시큐리티가 인증에 성공 시 자동으로 세션에 시큐리티 컨텍스트를 저장한다고 했는데 SecurityContextPersistenceFilter 또한 finally에서 세션에 또 저장을 하니까 2번 저장하게 될까요?
AuthenticationManager 사용 방법 HttpSecurity 사용에서 @Bean 사용으로 CustomFilter를 빈으로 생성하면 안되는 이유가 AutenticationManager가 빈이 아니기 때문에 주입받지 못한다고 하셨는데 securityFilterChain(HttpSecurity http) 메서드에서 AuthenticationManagerBuilder를 통해 build() or getObject()사용으로 AuthenticationManager를 가져오고 .addFilterBefore(customFilter(autenticationManager)) 여기서 넘겨주면 파라미터로 AuthenticationManagerf를 받는게 아닌가요?
안녕하세요. 요청을 필터가 처리하기까지의 과정이 맞는지 확인하고자, 질문드립니다. 먼저 FilterChainProxy가 SecurityFilterChain을 선택하는방법이 여러개의 SecurityFilterChain 중에 가지고 있는 RequestMatcher url 패턴에 맞는 SecurityFilterChain을 확인 후 선택함. 또 다시 SecurityFilterChain 이 가진 여러 필터들 중에서 요청 url에 해당하는 패턴을 처리할 수 있는 필터를 선택해서 해당 필터에서 처리하도록 함. 위 과정이 대략적으로 맞을까요?
안녕하세요 강사님 좋은 강의 감사드립니다. 처음부터 지금까지 모든 강의 내용을 직접 코딩을 따라 하며 실습하고 있었는데 해당 영상에서 질문할 것이 있습니다. RoleHierarchyImpl을 빈 등록할 때 setHierarchy는 deprecated 되어서 fromHierarchy로 했더니 사진의 에러가 발생합니다. 두 메소드의 코드가 다르기 때문에 이런 에러가 발생한다고 추측되는데 deprecated된 setHierarchy를 사용하는 대신 다른 방안이 있을지 궁금해서 여쭤봅니다. 사실 계층적 권한 관련된 내용을 처음 설명해주시는 관련 영상(섹션 9의 마지막 영상)에서는 setHierarchy 대신 fromHierarchy를 사용했어도 잘 동작했었기에 더 궁금합니다.(그때는 물론 role을 db로 관리하지 않는 간단한 예제였습니다) 확인해주시고 코멘트 달아주시면 많은 도움이 될 것 같습니다. 감사합니다. @Configuration public class AuthConfig { @Bean public PasswordEncoder passwordEncoder() { return PasswordEncoderFactories.createDelegatingPasswordEncoder(); } // 커스텀 계층 권한 적용 @Bean public RoleHierarchyImpl roleHierarchy(RoleHierarchyService roleHierarchyService) { String allHierarchy = roleHierarchyService.findAllHierarchy(); RoleHierarchyImpl roleHierarchy = new RoleHierarchyImpl(); roleHierarchy.fromHierarchy(allHierarchy); //roleHierarchy.setHierarchy(allHierarchy); return roleHierarchy; } }
사이드 프로젝트를 하다가 SpringSecurity를 좀더 잘 구햔해보고 싶어 강의를 들으면서 sideproject에 springSecurity를 도입하고 있습니다. 수업 내용과는 상이한 질문이라 드려도 될지 조심스럽습니다만, 혼자 공부하고 있어 여주어 볼 곳이 선생님 밖에 없어 질문을 남기게 됩니다. 권한을 설정해 주고, 회원에게 권한을 직접 지정해 주는 방식으로 진행했는데, api test해본 결과 계속 Set SecurityContextHolder to anonymous SecurityContext라는 오류가 발생합니다. 시간이 괜찮으시다면, 진행중인 sideProject에서 security 부분이 어디가 잘못되었는지 팁을 주시면 감사하겠습니다. https://github.com/Fangsangik/fintech_rebuilding
안녕하세요, 저는 현재 스프링 시큐리티 강의를 수강 중인 학생입니다. 강의를 차근차근 학습하고 있었으나, 프로젝트 마감 기한을 맞추기 위해 실전 프로젝트 부분을 우선적으로 학습하고 있습니다. 문제는 제가 아직 스프링과 스프링부트에 익숙하지 않다는 점입니다. 그래서 DB 연결 및 구축 방법에 대해 잘 이해하지 못하고 있습니다. 혹시 이 부분에 대해 어떻게 해야 하는지 설명해 주실 수 있으신가요? 또는 참고할 만한 자료가 있다면 추천 부탁드립니다. 구글에서 자료를 찾아보기도 했지만, 여전히 혼란스러운 부분이 많습니다. 현재 프로젝트에서는 백엔드와 시큐리티 부분을 담당하고 있으며, 강사님의 강의를 통해 제대로 배워보고자 하고 있습니다. 질문드린 부분을 도와주실 수 있으면 정말 감사하겠습니다.
동시 세션 제어 - sessionManagement().maximumSessions 강의에서 이상한 부분이 있습니다. maxSessionsPreventsLogin가 true인 경우를 24:30초에 테스트 하실때 비밀번호를 틀려서 강의에서는 테스트가 정상적으로 안된거 같습니다. 비밀번호가 1111인데 값을 3개만 입력해서 말씀드립니다.