본문 바로가기

분류 전체보기

Spring Security의 DB 사용 버전 테이블 정의 지난 글에서는 Spring Security의 커스터마이징 포인트로 잡았던 로그인 화면에 대해 정리해보았다. 이번 글에서는 Spring Security의 커스터마이징 포인트로 잡았던 DB를 이용한 로그인과 권한 관리을 구현하기 위한 DB 스키마에 대한 내용을 설명하도록 하겠다. 일단 예제 스키마이기 때문에 엉성하게 설계했다. 그러나 이해와 설명하는데 있어서 지장은 없을 정도이다. 각 테이블과 컬럼 관계는 따로 설명은 안하겠으나 컬럼의 설명만으로 이 컬럼이 어떤 테이블의 어떤 컬럼값을 이용하겠다 정도는 암시가 충분히 될 것이다(한마디로 요약하자면 ER 다이어그램 수준의 표현까지는 안하겠다는 의미임..귀차나서..) 그리고 Spring Security에서 제공하는 문서의 부록을 보면 Spring Security..
Spring Security의 로그인 화면 커스터마이징 (2) 지난 글에서는 Spring Security에서 제공하는 초간단 로그인 화면의 이해와 이를 기반으로 한 로그인 화면 구성 방법을 살펴보고 태그에서 Spring EL을 이용한 권한 설정을 알아보았다. 이번 글에서는 로그인 화면 커스터마이징의 마무리 글로 인증 실패시 메시지가 나오는 부분과 이를 커스터마이징 하는 부분과 화면에 인증 정보를 꺼내는 부분에 대해 알아보도록 하겠다. 이전 글을 보면 인증에 실패할 경우 로그인 기능만 제공하는 단독 로그인 화면이 있다는 것은 알고 있을 것이다( 태그의 login-page 속성에 정의하는 URL로 보여지는 화면) 이 화면의 소스를 가지고 설명하도록 하겠다(메인 화면의 로그인에도 같은 내용으로 적용이 가능하지만 표현해야 하는 방법이 다를수 있기 때문에 여기서는 언급하지 ..
Spring Security의 로그인 화면 커스터마이징 (1) 지난 글에서는 Spring Security의 초간단 셋팅으로는 현업에서 절대 써먹을 수 없기 때문에 이를 어떤 부분에서 커스터마이징을 해서 써먹을 수 있는 버전으로 바꿀지 그 포인트를 잡아보았다. 이제부터의 글은 그런 포인트를 하나하나 적용하는 글이라고 보고 이해하기 바란다. 가장 먼저 시작해야 할 것은 로그인 화면이다. Spring Security가 제공하는 초간단 로그인 화면 기억하는가? 기억나지 않는 분도 있을 것 같아서 다시 보여주도록 하겠다 이제 기억나는가? 정말 너무나도 간단한, 초라하기 그지없는 로그인 화면이다. 하지만 자기 기능은 충실히 하고 있다. 로그인 화면의 기능이란 무엇인가? 로그인 아이디와 패스워드를 입력받아 로그인 기능을 수행하기만 하면 되는 것이다. 하지만 그렇다고 이런식으로 ..
현업에서 써먹을수 있게 Spring Security의 커스터마이징 포인트를 잡자 지난번 글에서는 Spring Security의 아주아주 초간단 셋팅을 해봄으로써 Spring Security에서 제공되는 인증의 기능을 맛보게 되었고, 이것을 실제 프로젝트에서 써먹을수는 없다..라는 결론에 도달하며 좌절감을 얻었을 것이다. 그러나 그런 좌절감은 반대로 이걸 극복해볼려는 도전의지를 불태울 재료가 되기도 한다(응? 나만 그런가..) Spring Security 또한 사용자 확장성을 위한 여러가지 포인트를 제공해준다. 비단 Spring Security 뿐만 아니라 Spring Framework 등 SpringSource를 통해 나오는 프로젝트들은 사용자 확장성을 최대한 갖춰줄려고 해준다. 지금부터는 저번에 다루었던 Spring Security 초간단 셋팅을 생각해보며 우리가 현실적으로 맞닥뜨..
흔히 보게되는 절대 써먹을 수 없는 Spring Security의 초간단 셋팅 저번엔 Spring Security를 이해하는데 필수적인 요소라 할수 있는 인증, 권한, Filter 클래스들에 대해 알아보았다. 이번엔 본격적으로 우리 프로젝트에 Spring Security를 적용해보자(지금부터 설명하는 내용은 Java 6, Spring Framework 3.2.9, Spring Security 3.2.4를 적용했다) 프로젝트는 일반적인 Maven 구조의 Web 프로젝트이다(이 프로젝트의 구조가 이해가지 않으신 분들은 STS(Spring Tool Suite)를 개발툴로 삼아서 진행하면 된다. 이 툴에서 만드는 프로젝트 구조가 Maven Web Project이다). Maven Web Project가 아닌 이클립스에서 Dynamic Web Project로 만들어서 진행해도 상관은 없다. ..
Spring Security를 들어가며... 개인적으로 Spring Framework를 사용하면서 가장 적용해보고 싶었던 것이 바로 이 Spring Security 였다. 우리가 일반적으로 Web 관련 Project를 하면서 항상 따라다니는 것이 바로 로그인 관련 개발이다. 로그인이 없는 사이트는 거진 없다고 봐도 과언이 아닌 현실에서 이 개발이 아주 없을수는 없기 때문이다. 또한 로그인을 개발해야 한다는건 결국 회원 관리를 한다는 의미이기 때문에 회원 관리에 대한 개발을 해야 하는 것이고, 회원 관리를 개발한다는건 사이트의 Admin을 개발한다는것을 의미한다. 또 회원을 관리하면 결국 권한 관리가 같이 따라오기 마련이다. 이런 일련의 개발을 하면서 우리는 얼마나 많은 시간을 허비했는지 모른다(응? 웬지 요즘 타이어 광고 멘트 느낌이..) 그러나 ..
2014년 1월 7일..내 차에 언더코팅을..TRITUN.. 내가 차를 구입한 것은(정확히 말하면 얻었다..아버지가 차라도 사주면 여자가 곁에 생겨서 장가를 갈수 있겠지..하는 희망에 얻은..그러나 1년 7개월월이 흐른 지금 시점까지 내 곁에 아무도 없는것을 보면 아버지의 이런 예측은 많이 빗나갔다고 볼수 있다) 2012년도 6월의 일이다. 그로부터 1년하고도 7개월이 되던 시점인 현재까지 초보 드라이버인 나로써는 차에 애정을 붙이기가 참 어려웠다. 일단 들어가는 생뚱맞은 돈(보험료, 자동차세 등)이 적응하기 힘들었고 초보 운전자가 보니 운전에 대한 스트레스가 이만저만이 아니었다(그나마 지금은 많이 나아진편이다). 그 덕분에 1년 7개월된 차이지만 주행거리는 4200km뿐이 안되었다. 명절때 성묘하러 장거리 가는 경우와 어머니 모시고 절에 가는경우, 사촌들 모임이..
Java Collection 정리된 내용 우연히 알게된 어떤분의 블로그 내용인데.. 잘 정리되어 있어서 퍼옴.. http://blog.naver.com/windziel/60048694876