본문 바로가기

Spring/Spring Security5

[Spring Security] 5. Mybatis를 이용하여 DB연동하기 지금까지 우리는 xml에 계정과 비밀번호를 직접 등록하여 사용했다. 하지만 우리가 상상하는 로그인은 이런게 아니라 DB속에 계정정보를 저장하여 유동적으로 사용하는 것을 꿈꾸었을 것이다. 이 포스팅에서는 드디어 스프링시큐리티와 DB를 연동하여 쿼리문을 통하여 계정정보를 조회하는 방법을 알아보도록 하겠다. Mybatis를 이용한 DB연동 여기서는 마이바티스를 이용한 DB연동은 기본적으로 할줄 안다고 가정을 하고 대하여 자세히 다루지 않겠다. 디비를 연동하게되면 dataSource라는 이름으로 빈객체를 생성하는데 이 bean객체를 이용하여 Spring Security와 연동을 하게 된다. 제 제목 내용작성 제목 내용작성 제목 내용작성 2020. 2. 8.
[Spring Security] 4. 로그아웃(logout) 구현하기 로그인이 있으면 당연히 로그아웃이 있는게 당연하다. 스프링시큐리티를 사용하지 않고 로그인 기능을 구현하게 되면 별도로 로그아웃 url을 통해 세션관리를 해주었는데 이러한 과정을 스프링시큐리티에서는 어떤식으로 구현하고 또 어떤 기능들이 있는지 살펴보는 내용을 알아보도록 하겠다. xml 설정 자세한 설명은 생략한다... logout-url : 로그아웃 URL logout-success-url : 로그아웃 성공시, 이동할 URL. (default: /login?logout) invalidate-session : 로그아웃 시, session을 무효화할 지 선택. (default: true) delete-cookies : 로그아웃 성공시, 삭제할 쿠키 이름 지정 success-handler-ref : 로그아웃 성.. 2020. 2. 7.
[Spring Security] 3. 내가만든 커스텀 로그인화면 사용하기 이제 슬슬 스프링시큐리티에 대하여 자신감이 붙기 시작했으리라 생각한다. 자신감이 생기면 내 마음대로 고쳐보고싶은게 생기기 마련인데 이 포스팅에서는 가장만만한 로그인화면부터 수정하는 방법에 대하여 알아보고자 한다. 로그인화면 만들기 Please sign in Username Password Sign in 기본으로 제공되어지는 스프링 시큐리티 로그인화면이다. 자세히 살펴보면 전송은 POST방식으로 URL은 /login으로 되어 있다. 그 외에 _csrf라고 적혀있는 토큰이 있는데 토큰에 대해서는 나중에 따로 이야기를 하도록 하고 지금은 그냥 넘어간다. 로그인 기존 스프링시큐리티의 로그인 화면을 이용하여 직접 만든 로그인페이지 이다. input태그의 name 값을 변경해도 되냐고 물어본다면 Okay다. 하지만.. 2020. 2. 7.
[Spring Security] 2. 권한설정 1편에서 Spring Security의 기본적인 설정 방법에 대하여 알아보았지만 말 그대로 기본적인 설정일뿐 현실적으로 사용하기에는 무리가 있다. 사실상 스프링시큐리티는 커스터마이징을 하지 않는다면 아무 의미가 없기 때문에 기본설정 이후에 각 기능에 대하여 적절한 튜닝절차를 거쳐야 하는데 스프링시큐리티 2번째 포스팅에서는 권한설정에 대하여 좀 더 자사하게 알아 볼려고 한다. 권한설정 기본설정 편에서는 url에 따른 접근권한을 한개만 설정했지만 이번에는 3가지로 나누어서 설정을 했다. 특이한점은 use-expressions 옵션의 값이 기본설정편에서 false였는데 true로 변경됬다는 점인데 이 값이 true가 된다면 SpEL문법을 사용한다는 의미이다. 예를 들어hasAnyRole이라던가 permitAl.. 2020. 2. 7.
[Spring Security] 1. 기본설정 하기 Spring Security를 주제를 여러회차로 나누어서 시리즈 형태로 포스팅을 시작할려고 합니다. 사실 기존의 AOP를 이용한 인증방식을 너무나도 잘 사용하고 있어서 굳이 스프링시큐리티를 따로 사용해야 하나 라는 생각이 있었는데 스프링시큐리티를 파보면서 느낀점은 첫번로 스프링시큐리티가 너무 좋다는 점이였고, 두번째로는 생각보다 많이 어렵구나(복잡하구나)라는 생각이였습니다. 그래서 결국 앞으로 스프링시큐리티를 애용해야 겠다는 생각과 함께 한개의 포스팅으로 정리할려고 했던 스프링시큐리티를 시리즈 형태로 나누어서 정리를 하기로 했습니다. 부디 이 포스팅이 스프링시큐리티를 공부하는 분들에게 많은 도움이 되었으면 하는 바램입니다. 추가적으로 이 포스팅의 방향을 설명하자면 최종적으로는 스프링시큐리티를 커스터마이징.. 2020. 2. 7.