본문 바로가기

분류 전체보기163

[블로그프로젝트] 22. 글목록 페이징처리 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 메인페이지에서 글이 10개 20개라면 한번에 모든 글들이 표시된다면 보기에도 좋지 않고 불편할것이다. 특정 개수대로 나눠서 페이징 처리를 해보자. 우선 Board.java를 확인해서 글목록을 특정할 수 있는 변수명에 "_"가 포함되어있다면 없는방향으로 수정을 해주자 쌍따옴표("")에 해당 변수명을 넣으면 인식하지 못하는 경우가 많다. 나같은 경우도 Board_idx로 설정해 놓았는데 board 까지만 인식을해서 정렬기준을 잡지못해 500 에러가 발생하였다. boardController로 .. 2023. 6. 12.
[블로그프로젝트] 21. 글목록 만들기 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 글을 작성했으니 이제 작성한 글들을 메인화면에 띄워주자 boardController.java 에서 아래와 같이 작성한다. @Autowired BoardService boardService; @GetMapping({"", "/"}) public String index() { return "index"; } 컨트롤러를 작성했으니 이제 서비스를 작성하자 글목록이라는 메서드를 작성하고 작성된 글이 여러개 일 수도 있으니 List타입으로 board를 넣어준다. 모든 글들을 가져오기위해 FindAl.. 2023. 6. 11.
[블로그프로젝트] 20. 글작성하기 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 이제 로그인까지 진행했으니 글을 작성하는 기능을 작업해보자. 가장먼저 BoardControllerf로 이동해 주소를 변경해준다. 컨트롤러에서 주소를 변경했으니 header에서도 주소를 변경해주자 주소를 변경해주었으니 이제 해당 주소대로 파일을 생성하자 views 패키지 아래에 board폴더를 생성 후 saveForm.jsp를 만들어주자(loginForm을 복사한 후 이름을 바꾸면 편하다) 간단하게 잘 작동을 하는지 테스트해보도록 하자 참고로 loginForm을 복사해서 이름을 변경했다면 .. 2023. 6. 11.
[블로그프로젝트] 19-1. 시큐리티세션에 저장된 아이디값 확인해보기 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 시큐리티가 가로채서 유저정보를 세션에 저장해서 로그인을 해주는건 알겠는데 그럼 로그인한 유저의 정보를 어떻게 확인할 수 있을까? 한번 확인해보자 우선 BoardController.java로 이동해서 아래와 같이 변경해보자 @GetMapping({"", "/"}) public String index(@AuthenticationPrincipal PrincipalDetail principalDetail) { System.out.println("접속된 아이디 : "+principalDetail... 2023. 6. 9.
[블로그프로젝트] 19. 시큐리티로 로그인하기 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 이번 글에선 시큐리티를 이용해 로그인하는 과정을 정리하고자 한다. loginForm.jsp 에서 form에 있는 주소를 변경하자. 아이디 저장기능도 사용안할 예정이기 때문에 삭제해준다. ID Password Login UserApiController.java에서 로그인 관련해서 작성하지 않았는데 어떻게 로그인을 진행할까? 바로 스프링시큐리티가 로그인정보를 가로채서 대신 로그인하게 처리할 것이다. SecurityConfig.java로 이동해서 아래와 같이 코드를 추가한다. .and() .f.. 2023. 6. 9.
[블로그프로젝트] 18. 비밀번호 해쉬 후 회원가입하기 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 회원가입을 할 때 비밀번호를 1234 로 입력한다고 했을 때 DB에 1234 그대로 저장이 된다면 보안상으로 좋지 못한 방법일 것이다. 그렇기 때문에 회원가입을 할 때 입력한 비밀번호를 특정 문자열로 변경하여 DB에 저장이 된다면 비밀번호 1234로 저장되는 것보다 훨씬 안정적일 것이다. 이전글에 작성이 되어 있지만, 다시 순서대로 작성하고자 한다. SecurityConfig.java 에 해당부분을 추가한다. @Bean BCryptPasswordEncoder encoder(){ retur.. 2023. 6. 7.
[블로그프로젝트] 17. 스프링시큐리티 로그인 커스터마이징 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 스프링시큐리티를 이용해 로그인을 할 때 커스터마이징을 하기위해선 주소를 바꿔야하는 부분이 있다. UserService.java에서 로그인하지 않아도 접근할 수 있는 주소에 /auth를 붙여준다. UserApiController.java에서도 주소를 변경해준다. 로그인은 시큐리티로 할 것이기 때문에 삭제해주어도 무방하다. userService.java에서도 로그인 부분을 삭제한다. UserRepository에서도 로그인 부분을 사용하지 않을 것이기 때문에 삭제한다. loginForm.jsp.. 2023. 6. 7.
[블로그프로젝트] 16 스프링시큐리티로 로그인하기(3) 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 스프링시큐리티를 사용하기 위해서 pom.xml에 해당 라이브러리들을 추가한다. org.springframework.security spring-security-taglibs org.springframework.boot spring-boot-starter-security org.springframework.boot spring-boot-starter-web 그리고 UserApiController.java으로 이동해서 기존 로그인 방식을 삭제나 주석으로 막자 그 후 메인페이지로 이동하려고 하.. 2023. 6. 5.
[블로그프로젝트] error. jstl 500 error 해결 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 이런저런 할일로 조금 미루어졌지만, 계속 프로젝트를 진행중에 있었는데, 오늘은 오류사항중 하나를 해결해서 글을 작성하고자 한다. https://dean0608.tistory.com/119 예전에 작성한 jsp파일에서 jstl을 사용하기 위해 pom.xml 에 라이브러리도 추가하고 jsp파일에 라이브러리 태그도 추가해서 사용하고자 할 때 계속 500 error 가 발생해서 일단 다음에 해결하려고 넘어가고자 했었는데 드디어 해결하게 되었다. 그래서 그 과정에 대해서 글을 남기고자 한다. 우선.. 2023. 5. 29.
[블로그프로젝트] 15. 스프링시큐리티로 로그인하기(2) 유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다. IDE : IntelliJ 언어 : Java DB : MySQL 빌드관리 도구 : Maven OS : iOS 참고유튜브 : 메타코딩 로그인을 할 때 로그인한 아이디를 확인해보기위해 콘솔에 찍어보면 넘어오는 값이 없어서 null 이 찍혔다. {"status":500,"data":"Cannot invoke \"com.blog.config.auth.PrincipalDetail.getUsername()\" because \"principal\" is null"} 어떠한 문제때문에 로그인할 때 값이 전달되지 않는지 확인해보니 PrincipalDetailService에 있는 loadUserByUsername 이라는 이름의 메서드.. 2023. 5. 19.