2025/02/12 3

spring-boot(9)

9. JWT로 로그인/로그아웃 9.1 토큰 기반 인증사용자가 서버에 접근할 때 이 사용자가 인증된 사용자인지 확인하는 방법은 다양합니다. 대표적으로 서버 기반 인증과 토큰 기반 인증이 있습니다. 스프링 시큐리티에서는 기본적으로 세션 기반 인증을 제공합니다. 토큰 기반 인증은 토큰을 사용하는 방법입니다. 토큰은 서버에서 클라이언트를 구분하기 위한 유일한 값인데 서버가 토큰을 생성해서 클라이언트에게 제공하면 클라이언트는 이 토큰을 갖고 있다가 여러 요청을 이 토큰과 함께 신청합니다. 토큰 기반 인증은 무상태성, 확장성, 무결성이라는 특징이 있습니다. 무상태성사용자의 인증 정보가 담겨있는 토큰이 서버가 아닌 클라이언트에 있으므로 서버에 저장할 필요가 없습니다. 클라이언트에서는 사용자의 인증 상태를 유지하면서 ..

카테고리 없음 2025.02.12

spring-boot(8)

8. 스프링 시큐리티로 로그인/로그아웃, 회원가입 구현 8.1 스프링 시큐리티스프링 시큐리티: 스프링 기반의 애플리케이션 보안(인증, 인가, 권한)을 담당하는 스프링 하위 프레임워크입니다. 에너테이션으로 설정이 쉽고 CSRF 공격, 세션 고정 공격을 방어해주고 요청 헤더도 보안 처리를 해주므로 개발자가 보안 관련 개발을 해야 하는 부담을 크게 줄여줍니다. 8.2 회원 도메인 만들기User.java@Table(name = "users")@NoArgsConstructor@Getter@Entitypublic class User implements UserDetails { @Id@GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name="id"..

카테고리 없음 2025.02.12

spring-boot(7)

7. 블로그 화면 구성하기 7.1 타임리프타임리프는 템플릿 엔진입니다.템플릿 엔진: 스프링 서버에서 데이터를 받아 웹페이지, 즉 HTML에 데이터를 넣어 보여주는 도구입니다. 템플릿 엔진은 HTML과 함께 템플릿 엔진을 위한 문법을 섞어 사용해야 합니다.  h1 태그에는 ${이름}이 text 어트리뷰트로 할당되어있습니다. p도 마찬가지입니다. 이것이 템플릿 문법입니다. 이름, 나이라는 키로 데이터를 템플릿 엔진에 넘겨주면 템플릿 엔진은 이를 받아 HTML에 값을 적용합니다.{ 이름: "홍길동" 나이: 11}  타임리프 표현식과 문법 표현식표현식설명${...}변수의 값 표현식#{...}속성 파일 값 표현식@{...}URL 표현식*{...}선택한 변수의 표현식. th:object에서 선택한 객체에..

카테고리 없음 2025.02.12