분류 전체보기

    [Springboot] 블로그 만들기 (27)_글 목록 페이징 처리

    먼저 페이징 처리를 하기 전에 글을 여러개 만들어주자 index.jsp ${ board.title } 상세보기 Previous Previous Next Next BoardController.java @GetMapping({"","/"}) public String index(Model model, @PageableDefault(page=1, size=5, sort="id", direction = Sort.Direction.DESC) Pageable pageable) { // boards를 model객체로 만들어서 index로 던짐 model.addAttribute("boards", boardService.글목록(pageable)); // /WEB-INF/views/index.jsp return "index..

    [Springboot] 블로그 만들기 (26)_글 목록 보기

    BoardController.java @GetMapping({"","/"}) public String index(Model model) { // boards를 model객체로 만들어서 index로 던짐 model.addAttribute("boards", boardService.글목록()); // /WEB-INF/views/index.jsp return "index"; // viewResolver 작동 !! } BoardService.java public List 글목록(){ return boardRepository.findAll(); // findAll 은 JpaRepository가 가지고있다. } BoardRepository.java public interface BoardRepository exten..

    [Springboot] 블로그 만들기 (25)_썸머노트를 이용한 글쓰기

    BoardController.java @GetMapping("/board/saveForm") public String saveForm() { return "board/saveForm"; } header.jsp 글쓰기 회원정보 saveForm.jsp 생성 글쓰기화면 http://localhost:8001/board/saveForm 로그인이 안되있기때문에 로그인 화면으로 넘어간다. 로그인을 하면 글쓰기 화면으로 잘 넘어온다. 글쓰기 폼을 만들어보자 먼저 폼은 아래와 같은 썸머노트를 사용할거다. https://summernote.org/getting-started/ Summernote - Super Simple WYSIWYG editor Super Simple WYSIWYG Editor on Bootstrap..

    [Springboot] 블로그 만들기 (24)_스프링 시큐리티(5)_로그인

    loginForm.jsp UserName Password 로그인 SecurityConfig.java // 빈 등록 : 스프링 컨테이너에서 객체를 관리할 수 있게 하는 것 @Configuration // 빈등록 (IoC관리) // Controller 에 들어가기전에 여기를 탄다 public class SecurityConfig { @Bean // 사용자의 자격증명을 검증하는 Bean 생성 public AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration) throws Exception { return authenticationConfiguration.getAuthenticationM..

    [Springboot] 블로그 만들기 (23)_스프링 시큐리티(4)_비밀번호 해쉬, 회원가입

    DB 현재 DB에는 비밀번호가 자연어로 들어가서 보안에 취약하다. 개발자가 사용자들의 민감한 정보를 확인할 수 있다. 따라서 이 비밀번호를 암호화 시켜서 DB에 저장해야 된다. Application.yml 먼저 application의 ddl-auto 를 create 로 변경 jpa: open-in-view: true hibernate: ddl-auto: create SecurityConfig.java 해쉬 암호화 하는 메서드 추가 @Bean // IoC가 된다!! BCryptPasswordEncoder encodePWD() { return new BCryptPasswordEncoder(); } UserApiController.java @PostMapping("/auth/joinProc") public R..

    [Springboot] 블로그 만들기 (22)_스프링 시큐리티(3)_커스터마이징

    커스터마이징하기 전에 코드수정을 하자 인증이 안된 사용자들은 /auth/ ** 이 경로만 허용할거다. 만약 인증이 안된 사용자가 인증이 필요한 경로를 요청할 경우 로그인 페이지로 넘긴다. header.jsp 로그인과 회원가입은 로그인 하지 않은 사용자가 사용하는 페이지이므로 url에 /auth를 추가한다. 로그인 회원가입 UserApiController.java 기존에 사용한 전통적인 로그인 메서드는 삭제 SpringSecurity를 이용한 로그인은 나중에 구현, 지금은 일단 로그인 폼을 띄우는 것 부터 해보자 @PostMapping("/auth/joinProc") public ResponseDto save(@RequestBody User user) { //userName, password, email ..

    [Springboot] 블로그 만들기 (21)_스프링 시큐리티(2)_의존성 주입

    pom.xml 의존성 주입 org.springframework.security spring-security-taglibs org.springframework.boot spring-boot-starter-security UserApiController.java 전통적인 방식의 로그인 메서드를 주석처리한다. /* // 전통적인 방식의 로그인 방법 @PostMapping("/api/user/login") public ResponseDto login(@RequestBody User user, HttpSession session) { System.out.println("UserApiController : login 호출됨"); User principal = userService.로그인(user); // princ..

    [Springboot] 블로그 만들기 (20)_스프링 시큐리티(1)_요청주소 변경

    Spring Security 시작전 요청주소 변경 UserController.java @GetMapping("joinForm") public String joinForm() { // 회원가입 폼 띄우는 메서드 return "user/joinForm"; } @GetMapping("loginForm") public String loginForm() { // 로그인 폼 띄우는 메서드 return "user/loginForm"; } header.jsp LWJ 로그인 회원가입 글쓰기 회원정보 로그아웃 application.yml server: port: 8001 servlet: context-path: / encoding: charset: UTF-8 enabled: true force: true user.js $..