티스토리 뷰

권한이 제데로 설정되지 않은건가라는 물음에서 세션이 제데로 설정되어있는지 확인하였다.

 

오류 해결

@Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .httpBasic().disable()
                .csrf().disable()
                .cors().configurationSource(corsConfigurationSource())
                .and()
//                .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
                .authorizeRequests()
                    .antMatchers("/", "/auth/**", "/css/**", "/js/**").permitAll()
                    .antMatchers("/admin/**").hasAnyRole("ADMIN")
                    .anyRequest().authenticated()
                .and()
                    .formLogin()
                    .loginPage("/auth/loginForm") // 로그인 페이지
                    .loginProcessingUrl("/auth/loginProc")
                    .defaultSuccessUrl("/")
                    .failureUrl("/auth/loginForm")
                .and()
                .addFilterBefore(new JwtAuthenticationFilter(jwtTokenProvider),
                        UsernamePasswordAuthenticationFilter.class);

    }

 

무엇을 이것저것 추가하는 과정에서 JWT(Json Web Token)을 집어넣었었다.

그 중 .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS) 을 통해 인증정보를 서버에 담아두지 않겠다고 설정해두었다.

 

주석을 해제하니 정상적으로 실행이 되었다.

 

로그인 시 들어올 수 있는 화면

 

 

@GetMapping("/admin/memberList")
public String getList(Model model, HttpSession session) {
    model.addAttribute("memberList", firestationService.userList());

    log.info(session.getId());
    return "memberList";
}

 

 

 

로그를 찍어보면 터미널과 브라우저에서의 Session ID가 같음을 확인 할 수 있다.

 

왜 세션을 이용한 접근 방식은 서버에 부담을 주는 걸까에 대해 알아보았다.

 

스프링 세션

서버에 유입되는 트래픽이 많아질 경우 서버를 새로 만들어야 되는데 서버 당 하나의 정보에 대해서 부여되는 세션이 다르게 되는 경우가 생긴다.

=> 스프링에서는 세션저장소를 마련해준다. 세션저장소를 만듬으로서 하나의 정보에 대한 세션을 공유하여 사용할 수 있다.

 

 

이러한 방식에 단점이 존재하는데 사용자가 요청할 시 응답하기 위해선 세션저장소에 세션을 경우마다 확인해야된다는 점이다. 그래서 세션 저장소에 조회하지 않고 인증설정을 할 수 있는 방법 중 하나가 JWT 를 이용하는 것이라고 한다.

 

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함