본문 바로가기

스프링 시큐리티

(4)
Spring Security UserDetails, UserDetailsService 란? - 삽질중인 개발자 Spring Security - UserDetails , UserDetailsService UserDetails 란? Spring Security에서 사용자의 정보를 담는 인터페이스이다. Spring Security에서 사용자의 정보를 불러오기 위해서 구현해야 하는 인터페이스로 기본 오버라이드 메서드들은 아래와 같다. 메소드 리턴 타입 설명 기본값 getAuthorities() Collection
spring security DB를 이용한 로그인 구현 3 ( 로그아웃 하기 ) - 삽질중인 개발자 - logout - 이 포스팅에서는 로그아웃을 구현한다. 1. 로그아웃 버튼 만들기 스프링 시큐리티의 기본 로그아웃 url은 POST 메소드의 /logout 이다. LOGOUT 2. SecurityConfig.java (이전 포스팅 6번) 에 아래의 코드 추가 @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/member/**").hasAnyAuthority("MEMBER") .and() .formLogin()//로그인 폼 사용 .loginPage("/login")//커스텀 로그인 페이지 .successHandler(customAuthentication..
스프링 시큐리티 DB를 이용한 로그인 구현 2 ( ajax 로그인 ) - 삽질중인 개발자 - spring security ajax login - 이 포스팅에서는 jQuery Ajax를 이용한 커스텀 로그인 페이지 구현을 할 것이다. 스프링 시큐리티에 기본 로그인 페이지는 로그인 실패시 페이지를 새로고침하고 쿼리스트링(localhost:8090/login?error)을 주는 방식으로 구현이 되어 있는데 이 방식으로 구현을 하면 페이지를 새로 띄워야 할 뿐만 아니라 입력했던 정보에 대해서 전부 사라지게 된다. 위에나오는 불편함을 해소하기 위해 요즘 나오는 대부분의 사이트를 로그인시 ajax를 이용해서 login을 한다. 1. LoginController.java 생성 스프링 시큐리티의 기본 로그인 url은 /login 이다. 이걸 커스텀하기위해 /login 을 재정의한다. 아래의 코드에서는 로그..
스프링 시큐리티 DB를 이용한 로그인 구현 1 ( 회원 설정 및 일반 로그인 ) - 삽질중인 개발자 - spring security 로그인 (mariaDB) - 스프링 시큐리티 스프링 기반의 보안 관련 프레임워크이다. 스프링 시큐리티를 사용하면 보안에 관련된 옵션을 자동적으로 구현해주기에 우리가 어느정도 신경을 안써도 된다. 개발 환경 - spring boot 2.2.5.RELEASE - jpa ( 이거 무조건 배우자 ) - mariaDB ( JPA 사용하면 oracle , h2 기타 등등 모든 DB 가능 ) - jsp jpa를 사용해서 DB를 다룰건데 jpa가 아닌 mybatis를 이용해서 구현할때 중간중간에 어떤 코드가 들어가야 하는지 써놨다. 이 포스팅에서는 우선 로그인을 시켜볼 것이다. 하기전에 application.properties 에 가서 미리 설정하자. ( 한글로 써둔 부분은 알아서 채우..