소개
게시글
질문&답변
2023.09.09
커스텀 필터 적용 안됨
@Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { AuthenticationManager authenticationManager = http.getSharedObject(AuthenticationManager.class); return http .csrf(AbstractHttpConfigurer::disable) .sessionManagement((sessionManagement) -> sessionManagement.sessionCreationPolicy(SessionCreationPolicy.STATELESS) ) .formLogin(withDefaults()) .httpBasic(withDefaults()) .addFilter(corsConfig.corsFilter()) .addFilter(new JwtAuthenticationFilter(authenticationManager)) .addFilter(new JwtAuthorizationFilter(authenticationManager, userRepository)) .authorizeRequests(requests -> requests .requestMatchers("/user/**").authenticated() .requestMatchers("/admin/**").access("hasAuthority('ADMIN')") .anyRequest().permitAll() ) .build(); } 커스텀 필터를 적용 안하고 커스텀 필터에 코드를 filterchain에 작성하면 어떨까 싶어 위와 같이 작성해보았었으나, 빨간 줄은 안 뜨지만 디버깅해보니 authenticationManager가 null이라고 나왔었습니다..
- 0
- 1
- 786
질문&답변
2023.07.22
[Google oauth2 관련] The dependencies of some of the beans in the application context form a cycle
SecurityConfig에 있는 PasswordEncoder 생성자 코드를 Application.java로 옮겨주니 에러가 해결되었습니다!
- 0
- 1
- 796
질문&답변
2023.07.11
로그인 올바르게 해도 login?error로 갑니다
알아냈습니다... loadUserByUsername 위 메소드는 UserDetailsService 에 정의된 메소드에요 그래서 아이디를 username, 비밀번호는 password가 아닌 다른 이름, 다른 걸 받을 경우 config에 이를 명시해줘야 합니다. 명시 방법은 다음과 같아요. .usernameParameter("userEmail") .passwordParameter("userPassword") 저는 username이 아닌 userEmail password가 아닌 userPassword라는 이름으로 값을 받습니다. password라는 이름에 해당하는 값이 없으니 로그인이 안됐던 거에요..하하하하
- 0
- 1
- 993