드디어 오랜기간의 방황을 깨고 마무리가 되었습니다. ㅠ_ㅠ
빠진 기능도 있고 버그도 있겠지만(?) 다음 과제(?)를 위해서 마무리~
소개...
Ubuntu 에 Proftpd 와 Mysql 을 이용해서 사용자 관리와 파일 전송 기록을 남길 수가 있습니다.
http://www.sysadminworld.com/2011/install-proftpd-with-mysql-backend-on-debian-ubuntu/
위와 같은 테이블로 관리를 하게 됩니다.
유저와 그룹을 관리하고 쌓이기만 하는 전송 기록을 볼 수 있는 웹어플을 한번 만들어 봤습니다.
※ 원래 데이터베이스는 MySQL 인데 샘플을 위해서 SQLite 로 데이터를 옮겼습니다.
사용한 기능...
- Core, AOP, MVC
- AuthenticationManager 를 이용한 인증 처리
- @PreAuthorize 어노테이션을 사용한 서비스단 메소드 보안
- MySQL 의 password() 로직을 사용한 PasswordEncoder
- List<String> ↔ 콤마 구분 문자열 타입 핸들러
- Date ↔ datetime 타입 핸들러
- 컴포넌트 동적 로딩 (필요한 클래스 js 파일을 그때그때 AJAX 로 로드)
- 페이징 가능한 Tree Grid
- 플러그인
- FilterBar, MultiSorting, PagingToolbarResizer 등... -_-;
화면 설명...
최초 페이지 로딩 후 전송 이력(History)에서 시작합니다. 데이터를 불러오려다가 로그인이 안되어 있어서 인증창이 뜹니다.
로그인이 성공하게 되면 데이터를 불러옵니다.
파일명과 접속 아이피는 문제가 될 소지가 있어서 이상하게 변환시켜 놨습니다 -_-;;;
아래는 사용자 관리 화면입니다. 사용자를 추가/수정/삭제 할수 있습니다.
사용자의 권한이 "관리자"만 그룹/사용자 정보를 관리할 수 있습니다. 그냥 "사용자"는 변경하려고 하면 권한이 없다고 나옵니다.
아래는 그룹 관리 화면입니다. 그룹을 추가/수정/삭제 하고, 사용자를 그룹에 포함/제외 시킬 수 있습니다.
소스 다운로드...
위 파일은 이클립스 프로젝트 파일입니다. 메이븐 구조로 되어있습니다.
위 2개 파일은 war 파일을 7-zip으로 분할 압축 해놓은 겁니다.
압축 해제 후 나온 war 파일을 바로 배치 후 볼 수 있습니다. (소스 파일들도 들어있슴)
'Mini Project' 카테고리의 다른 글
Image Pyramid (0) | 2014.01.30 |
---|---|
게시판 2.0 (5) | 2011.07.27 |
Sudoku (0) | 2011.06.09 |
간단한 JAVA 실행기(?) (1) | 2011.03.21 |
Forecast Repository (8) | 2010.11.30 |
Sales History API (2) | 2010.05.27 |
Order Entry API (0) | 2010.05.13 |
Human Resources API (0) | 2010.05.10 |
게시판 1.0 (1) | 2010.03.11 |
비밀번호 생성기(Generate Password) (1) | 2010.02.10 |