소개
게시글
질문&답변
커스텀 필터 적용 안됨
@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
- 835
질문&답변
[Google oauth2 관련] The dependencies of some of the beans in the application context form a cycle
SecurityConfig에 있는 PasswordEncoder 생성자 코드를 Application.java로 옮겨주니 에러가 해결되었습니다!
- 0
- 1
- 823
질문&답변
로그인 올바르게 해도 login?error로 갑니다
알아냈습니다...loadUserByUsername 위 메소드는 UserDetailsService에 정의된 메소드에요그래서 아이디를 username, 비밀번호는 password가 아닌 다른 이름, 다른 걸 받을 경우 config에 이를 명시해줘야 합니다.명시 방법은 다음과 같아요. .usernameParameter("userEmail") .passwordParameter("userPassword")저는 username이 아닌 userEmailpassword가 아닌 userPassword라는 이름으로 값을 받습니다. password라는 이름에 해당하는 값이 없으니 로그인이 안됐던 거에요..하하하하
- 0
- 1
- 1.2K