inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 시큐리티

9) 동시 세션 제어, 세션 고정 보호, 세션 정책

autentication vs session

210

이얏

작성한 질문수 37

3

안녕하세요 선생님! 많은 질문해서 죄송합니다.

갑자기 드는생각이 session의 역할과 autentication의 역할이 너무 같다생각해서 여쭤봅니다. 물론 저장소가 다르다는 것은 알고있는데 뭔가 역할이 똑같아서 굳이.. 왜 있는지 이해가가질않습니다.

둘 차이가 뭘까요? 둘이 왜 같이 있나요?

spring-boot Spring Security java

답변 1

5

정수원

Session 과 Authentication 은 개념이 완전히 틀립니다.

Session 은 http 프로토콜에서의 클라이언트와 서버간의 상태유지를 위해 처리되는 개념이고 세션이 만료되기 전까지는 전역적으로 참조가 가능한데 비해 Authentication 은 사용자의 인증정보를 저장하는 객체이며 빈의 Scope(싱글톤, 프로토타입 등..) 혹은 객체 생성에 따라 생명주기가 정해져 있을 뿐입니다.

인증관련 관계도를 보면 이렇습니다.

Session > SecurityContext > Authentication > UserDetials 입니다.

즉 사용자가 로그인 후 인증을 받게 되면 인증정보를 UserDetials 에 담고 UserDetials 는 Authentication 에 담고 Authentication 은 SecurityContext 에 담고 SecurityContect 는 Session 에 담는 식으로 처리 됩니다.

Session 은 클라이언트가 전역적으로 데이터를 접근할 수 있는 개념이고 Authentication 은 세션안에 포함되어 필요시 꺼내어 사용할 수 있는 개념입니다.

최종적으로는 Authentication 에 저장되어 있는 UserDetails 타입의 user 객체를 참조하는 것이 핵심이겠지만 각 클래스마다 하는 역할과 위치가 서로 다른 동시에 서로 연계되어 사용되고 있습니다

강의 섹션 2 번째에서 3, 4, 5 번 강의에 자세하게 설명하고 있으니 참고해 주시기 바랍니다.

시큐리티 공부 버전 질문

0

175

1

[해결 방법] MethodSecurityConfig.customMethodSecurityMetadataSource() 호출하지 않는 이슈

0

185

1

AbstractSecurityInterceptor.class.beforeInvocation()를 2번 실행하는 경우

0

174

1

강의 코드가 왜이렇게 뒤죽박죽인가요...

0

249

1

메인 페이지로 접속해도 login url로 리다이렉트가 되지 않습니다..

0

235

1

파라미터값이 넘어가지 않습니다 ....

0

374

1

security filterChain 설정 질문이 있습니다.

0

331

1

소스 부분 질문 드립니다.

0

208

2

섹션4 7번 강의 문제가 있는거 같네요.

0

344

2

파일이 수시로 이름이 바껴있네요 ㄷㄷ

0

304

1

HttpSessionSecurityContextRepository를 사용안하는 문제

0

555

2

error , exception 이 잘 안됩니다.

0

279

2

thymeleaf tag 질문합니다.

0

196

2

버전업하면서 deprecated된 것들이 너무많아요

0

478

1

spring security 패치 관련

0

437

1

모바일을 사용할때 토큰말고 세션

0

845

2

DB 연동한 인가 부분에 대한 질문입니다!

0

264

1

Ajax방식도 똑같이 Session방식을 사용하는건가요?

0

307

1

Config 파일 생성 시 질문이 있습니다.

0

225

1

강사님 몇일동안 구글 검색만 100개 했는데도 이유를 모르겠습니다..

1

429

2

403 에러 뜹니다.

0

813

2

login_proc의 존재에 대한 간략한 설명입니다

0

276

1

top.html에 로그인 링크를 만들어서 로그인을 해봤습니다

0

280

2

안녕하세요. DB에 저장될 때 이해 안 가는 값이 있어서 질문드립니다!

0

189

1