Home Project Lab 19. 관리자 페이지 개발 및 UI 변경(Front-end) - 2
Post
Cancel

Project Lab 19. 관리자 페이지 개발 및 UI 변경(Front-end) - 2

IntelliJ 프로젝트 빌드할 때 ‘Command line is too long. Shorten command line for..’ 에러 해결 방법

  • 프로젝트 빌드시 ‘Command line is too long. Shorten command line for..’ 에러가 발생하여, 다음 출처를 참고하여 해결하였다.

출처: http://jmlim.github.io/intellij/2020/02/27/intellij-idea-command-line-is-too-long-error/

Spring security

  • 로그인할 때 사용자 인증 할 때 UsernameNotfoundException 예외가 발생하지 않고 BadCredentials 예외가 발생하였다. 하단 출처를 참고하여 사용자 보안을 위해서 UsernameNotfoundException 예외가 발생하지 않는 것을 확인하였다.

출처: https://cyr9210.github.io/2019/09/30/Security/usernamenotfound/

로그 기록 남기기

  • JPA의 EntityListener를 사용하여, 데이터 변경 기록을 남기는 기능을 구현하였다. 모든 데이터 변경 기록(등록, 수정, 삭제) 기록을 DB에 저장하여 관리자가 관리할 수 있다.
  • 로그인 접속 기록(접속 시간, IP 주소, 접속 지역)을 DB에 저장하여 관리자가 관리할 수 있다.

IP 주소 가져오기

  • 로그인 접속 기록을 기록할 때 사용자의 IP 주소를 가져오는 방법이다.

출처: https://linked2ev.github.io/java/2019/05/22/JAVA-1.-java-get-clientIP/

  • 톰켓은 기본적으로 IPv6 주소를 사용하므로 주소 체계를 IPv4로 변경해야 한다.
  • IntelliJ에서 톰켓의 주소 체계를 변경하는 방법은 다음과 같다.

image

1
-Djava.net.preferIPv4Stack=true

출처: https://bactoria.github.io/2019/10/11/Ip%EB%A1%9C-%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8-%EC%A0%91%EC%86%8D-%EC%9C%84%EC%B9%98-%EC%A0%95%EB%B3%B4-%EC%95%8C%EC%95%84%EB%82%B4%EA%B8%B0/

GeoIp2

  • GeoIp2는 IP 주소를 사용하여 접속 지역을 확인하는 라이브러리로서, 해당 라이브러리를 사용하여 로그인을 시도하는 사용자의 접속 지역 또한 DB에 저장하였다.

출처: https://www.maxmind.com/en/accounts/421990/geoip/downloads

Data History 페이지 개발

  • 모든 데이터 변경 기록을 확인할 수 있는 페이지로서, 검색, 삭제, Active Status를 변경 기능을 지원한다.

Login History 페이지 개발

  • 모든 로그인 접속 기록을 확인할 수 있는 페이지로서, 검색, 삭제, Active Status를 변경 기능을 지원한다.

Main 페이지 개발

  • 관리자 페이지 로그인시 처음 이동하는 페이지로서, 현재 사이트의 대략적인 데이터를 출력한다.

  • 링크: github + 버전(application.yml 파일에서 버전 정보 및 URL 읽기)
  • 링크: user page
  • 링크: google analystic

  • 통계: 사용자수
  • 통계: 등록된 글의 수
  • 통계: 이번 주 로그인 수, 이번 주 변경된 글의 수, 이번 달 로그인 수, 이번 달 변경된 글의 수(dropdown 사용)
  • 통계: 디스크 메모리

  • 게시판: Alarm(추후 구현 예정) / Notice Board
  • 게시판: Login Histroy
  • 게시판: Data History

메일

  • 메일을 CRUD 할 수 있는 페이지다.
  • 구현한 메일 전송 API를 활용하여 메일을 전송할 수 있다. 해당 기능은 추후 다양한 기능과 연동할 예정이다.

출처: https://ktko.tistory.com/entry/JAVA-SMTP%EC%99%80-Mail-%EB%B0%9C%EC%86%A1%ED%95%98%EA%B8%B0Google-Naver

This post is licensed under CC BY 4.0 by the author.

Project Lab 18. 관리자 페이지 개발 및 UI 변경(Front-end) - 1

Project Lab 21. 사용자 페이지 개발 - 1

Comments powered by Disqus.

Trending Tags