Spring

UserEntity에 @Getter 어노테이션 달아주기. CustomUserDetails 클래스 작성. CustomUserDetailsService 클래스 작성.
의존성 주석을 먼저 해제한다. 그 다음 IntelliJ Ultimate버전 사용자라면 Database 탭으로 가서 Mysql을 등록해 준다. 다음으로 Default Query Console을 열고, 아래처럼 database를 생성해 준다. 생성이 되었다면, application.properties 파일에 아래와 같이 작성한다. 이제 연동이 끝났다. 회원가입 Form 화면을 만들어 보자. 회원가입 로직 회원정보를 통해 인증 / 인가 작업을 진행하기 때문에 사용자로부터 회원가입을 진행한 뒤 데이터베이스에 회원 정보를 저장해야 한다. join.mustache 파일을 생성하고, 아래와 같이 작성한다. 다음으로, Controller도 작성한다. SecurityConfig도 회원가입 관련 경로 전부 허용 이제 회원..
스프링 시큐리티는 사용자 인증(로그인) 시 비밀번호에 대해 단방향 해시 암호화를 진행하여 저장되어있는 비밀번호와 대조한다. 따라서 회원가입시 비밀번호 항목에 대해서 암호화를 진행해야 한다. 단방향 / 양방향 암호화란? 양방향 - 대칭키 - 비대칭키 양방향 암호화는 입력된 데이터를 암호화해 출력값을 만드는 거랑 그 반대로 출력값을 다시 원본 데이터로 바꾸는 걸 할 수 있는 암호화 방식이다. 대표적으로 대칭키 알고리즘과 비대칭키 알고리즘이 있다. 단방향 - 해시 단방향 암호화는 입력된 데이터를 암호화해서 출력값(해시)를 만든다. 암호화된 데이터로부터는 원본 데이터를 찾을 수 없다고 한다. 주로 사용자의 비밀번호를 안전하게 저장하는 데 사용한다. 스프링 시큐리티는 암호화를 위해 BCrypt Password E..
기존에는 인가가 필요한 경로에 접근 시, 스프링 시큐리티에서 제공하는 로그인 폼을 통해 로그인 했어야 했다. 이 디폴트 로그인 폼을 내가 만든 로그인 폼으로 변경하는 작업을 해보자. login.mustache 파일을 아래와 같이 작성한다. 다음으로 로그인 컨트롤러도 하나 생성해 준다. 이전에는 설명을 못했었는데, @Controller와 @RestController의 차이가 뭐냐면, Rest한 Json데이터를 Return하는 형식이 아닌, 하나의 View를 return하는 방식이다. 우리는 mustache를 return 해주기 위해서 @Controller를 사용한 것. 이제 SecurityConfig파일에서 아래와 같이 작성하면 된다. 스프링 시큐리티에는 csrf라는 사이트 위변조 방지 시스템이 설정되어있..
config 패키지를 생성하고, SecurityConfig 클래스를 생성하여 시큐리티 인가 작업을 추가해보도록 하자. 스프링 시큐리티 6버전부터는 람다식 형태로 작성해야 한다. 또한, filterChain 방식으로 인가를 구현해야 하는데, 시큐리티 5버전과 많이 달라서 이에 대한 학습이 필요하다. requestMatchers는 특정한 경로에게 인가를 작용시키는 메서드이고, anyRequest는 나머지 경로를 말한다. 순서가 매우 중요하므로 anyRequest는 항상 맨 마지막에 나타내는게 좋을 것 같다. / 경로와 /login 경로는 인가를 하지 않도록 열어두고, /admin 경로만 인가작업을 하도록 설정해준 후에, admin.mustache 파일과 AdminController를 생성하여 /admin경로..
먼저 brew로 mysql을 설치해주고 실행해보자. 그 다음 brew services라고 터미널에 입력하면, 현재 brew 서비스 상태를 보여주는데, mysql이 실행중이지 않다면 brew services start mysql을 입력해주면 된다. brew로 mysql을 설치했다면, Default username은 root이고, password는 아무것도 없는 상태인 공란이다. 포트는 3306이 mysql의 기본 포트. 그러면 이제 프로젝트를 생성해 보자. IntelliJ Ultimate 버전을 사용 중이라면, new Project를 눌러, 아래와 같은 의존성들을 추가해주자. IntelliJ가 Community 버전이라면, start.spring.io 위 사이트에서 똑같이 작업을 해주면 된다. resour..
wn1331
'Spring' 태그의 글 목록