사랑하애오
article thumbnail
[VSCODE] SpringBoot 쇼핑몰(MVN) 페이지 권한 설정
JAVA/SpringBoot Shoppingmall 2022. 6. 27. 12:58

페이지 권한 설정 1. 상품 등록 페이지 ADMIN (관리자) 계정만 접근할 수 있는 상품 등록 페이지 2. 상품 등록 페이지 접근 Controller 상품 등록 페이지에 접근하는 Controller 3. AuthenticationEntryPoint AuthenticationEntryPoint 인터페이스 구현 클래스 인증되지 않은 사용자가 리소스 요청 시 "Unauthorized" 에러를 발생시킴 4. SecurityConfig HttpServletRequset 에 대해서 security 처리를 수행 anyRequest() - 위에 존재하는 url patterns 들을 제외한 나머지 요청들 권한에 맞지 않는 사용자가 리소스에 접근할 때 수행되는 핸들러 static 디렉터리의 하위 파일은 인증을 무시하도록..

article thumbnail
[VSCODE] SpringBoot 쇼핑몰(MVN) 로그인/로그아웃 기능 구현
JAVA/SpringBoot Shoppingmall 2022. 6. 27. 11:30

로그인 / 로그아웃 1. UserDetailsService 데이터베이스에서 회원 정보를 가져오는 인터페이스 loadUserByUsername() 메소드를 통해 회원정보를 조회 -> UserDetails 인터페이스 반환 2. UserDetails 회원 정보를 담는 인터페이스 직접 구현하거나 스프링 시큐리티에서 제공하는 User 클래스 사용 (구현체) 3. MemberService 로그인 / 로그아웃 구현 UserDetailsService 인터페이스를 구현하고 loadUserByUsername() 메소드 오버라이딩 Builder 패턴을 이용하여 UserDetail 인터페이스를 구현한 User 객체 생성 후 반환 @Override public UserDetails loadUserByUsername(String..

article thumbnail
[VSCODE] SpringBoot 쇼핑몰(MVN) Thymeleaf - 페이지 레이아웃
JAVA/SpringBoot Shoppingmall 2022. 6. 24. 16:36

Layout Dialect 1. Thymeleaf Layout Dialect 의존성 주입 nz.net.ultraq.thymeleaf thymeleaf-layout-dialect 2.5.1 2. header / footer / layout 생성 resources/templates/fragments/header.html, header.html resources/templates/layouts/layout1.html 3. header / footer 코드 다른 페이지 (layout)에 포함시킬 영역을 th:fragment 로 선언 header footer 4. layout 코드 layout 기능을 사용하기 위해서 layout 네임스페이스 추가 script, css 를 추가할 영역을 layout:fragment..

article thumbnail
[VSCODE] SpringBoot 쇼핑몰(MVN) Thymeleaf
JAVA/SpringBoot Shoppingmall 2022. 6. 24. 11:00

Thymeleaf 1. Thymeleaf 컨트롤러가 전달한 가공된 데이터를 이용하여 동적으로 화면을 구성하도록 지원하는 템플릿 엔진 https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html Tutorial: Using Thymeleaf 1 Introducing Thymeleaf 1.1 What is Thymeleaf? Thymeleaf is a modern server-side Java template engine for both web and standalone environments, capable of processing HTML, XML, JavaScript, CSS and even plain text. The main goal of Thy..