본문 바로가기

Framework/Spring Security

(3)
AJAX Login with Spring Security Introduction 스프링 시큐리티를 이용하여 로그인을 처리할 때에 AJAX 방식으로 로그인 하는 방법이다. 크게 2가지로 볼 수 있겠다. ㅎㅎ Using Handler 기본적인 10단계의 필터 체인 중에 UsernamePasswordAuthencationFilter 단계의 "authentication-success-handler-ref"와 "authentication-success-handler-ref" 를 이용하는 방법이다. 클래스 구조를 보면 아래와 같다. 아래와 같은 필터 체인의 순서롤 작동하게 된다. 구현 방법은 각각의 핸들러에서 응답을 JSON이나 원하는 포멧으로 만들어서 출력하면 된다. public class LoginSuccessHandler implements Authenticatio..
Spring Security Session Destroy Intoduction Spring Security 사용 중에 "사용자의 로그인 시간과 로그아웃 시간을 기록해야 한다" 라는 임무가 떨어졌다 -_- 문제는 이 로그아웃 이라는게 약간 골치 아프다.. 사용자가 직접 로그아웃 버튼을 클릭해서 로그아웃을 한다면 나이스 하지만... 대부분은 용무가 끝나면 그냥 브라우저를 끄거다 바로 다른 사이트로 넘어가게 된다. 이 경우에는 어떻게 하지? 개발자의 눈으로 보면 로그아웃 == 세션 만료로 볼 수 있다. 다른 사이트로 가거나 브라우저를 꺼버리게 되면 WAS의 기준으로 일정 시간이 지나면 세션이 만료되게 된다. 이 세션 만료를 캐취해서 처리를 하는 방법을 알아보자. Using HttpSessionListener 서블릿의 세션 리스너를 이용한 방법이다. 아래와 같이 Ht..
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..