본문 바로가기

Spring Security

(3)
MySql Password Encoder 개인적으로 자주 사용하는 Spring Security Password Encoder 입니다. MySql 의 password() 펑션 알고리즘 사용합니다. import java.security.GeneralSecurityException; import java.security.MessageDigest; import org.springframework.security.crypto.password.PasswordEncoder; public class MySqlPasswordEncoder implements PasswordEncoder { @Override public String encode(CharSequence rawPassword) { if (rawPassword == null) { throw new N..
Infinite Routing DataSource 스프링을 이용하여 몇개의 데이터소스를 정해놓고 라우팅을 하는 경우 AbstractRoutingDataSource를 이용할 수 있었습니다. 하지만 경우에 따라 접속해야하는 데이터베이스가 무한대일 경우? 그래서 이것저것 생각해 봤는데 -_-.... 로그인시에 [고객 코드], [아이디], [비밀번호] 3가지를 입력 받습니다. [고객코드]로 고객을 찾은 후 고객의 정보로 디비 정보를 만든 후 ThreadLocal에 저장합니다. 그 후 로그인 처리를 합니다. 로그인 시에 데이터소스를 사용할 때 ThreadLocal에 있는 디비 정보(DbInfo 객체)로 데이터소스를 만들거나 캐쉬에서 가져오게 합니다. 로그인 때에 처음 그 데이터베이스에 접속을 하게 되니까 RoutingDataSource 부분에서 데이터소스를 처음..
Proftpd Manager 드디어 오랜기간의 방황을 깨고 마무리가 되었습니다. ㅠ_ㅠ 빠진 기능도 있고 버그도 있겠지만(?) 다음 과제(?)를 위해서 마무리~ 소개... Ubuntu 에 Proftpd 와 Mysql 을 이용해서 사용자 관리와 파일 전송 기록을 남길 수가 있습니다. http://www.sysadminworld.com/2011/install-proftpd-with-mysql-backend-on-debian-ubuntu/ 위와 같은 테이블로 관리를 하게 됩니다. 유저와 그룹을 관리하고 쌓이기만 하는 전송 기록을 볼 수 있는 웹어플을 한번 만들어 봤습니다. ※ 원래 데이터베이스는 MySQL 인데 샘플을 위해서 SQLite 로 데이터를 옮겼습니다. 사용한 기능... Spring Framework 3 - Core, AOP, ..