Projects16 Spring Security의 로그인 절차 스프링 시큐리티는 커스터마이징이 가능한 인증 및 접근제어 프레임워크이다. 보안과 관련해서 체계적으로 많은 옵션을 제공하기 때문에 개발자 입장에서 일일이 보안에 관련된 로직을 작성하지 않아도 된다는 장점이 있다. 시큐리티가 form login을 어떻게 처리하는지에 대해서 프로젝트 내용과 함께 설명한다. 밑의 코드는 WebSecurityConfigurerAdapter를 상속받아 작성한 SecurityConfig 클래스(설정파일)이다. configure메서드에서는 csrf를 비활성화하고, antMatchers에 명시된 경로에 권한을 부여해서 해당 경로로 들어가게 되는 경우 로그인페이지로 이동하도록 했다. 시큐리티 설정파일에 .loginProcessingUrl("/auth/signin")라고 명시하면 /auth.. 2022. 1. 16. @Builder를 써야하는 이유 필요한 데이터로 바로 객체를 만들 수 있다. 정적 메소드의 경우(생성자) 예를들어서 age라는 파라미터가 필요없는 상황이라고 가정했을 때 우리는 age가 없는 생성자를 따로 만들어줘야 한다. 하지만 Builder의 경우 이를 동적으로 처리 가능하다. 진행하는 프로젝트에서는 회원가입을 할 때 dto클래스 내부에 받은 정보만으로 User객체를 build하는 메서드를 아래와 같이 미리 만들어 놓았기 때문에, 실제로 controller에서 signupDto의 toEntity()메서드를 활용해서 바로 user를 DB에 저장할 수 있었다. @Data public class SignupDto { @Size(min=2,max=20) @NotBlank private String username; @NotBlank pri.. 2022. 1. 15. [개념 정리] 스트링부트 기본 개념 @Controller : File을 응답하는 컨트롤러(클라이언트가 브라우저면 .html파일) @RestController : Data를 응답하는 컨트롤러(클라이언트가 핸드폰이면 data) 1. URL로 파라미터를 받는 방법 2가지 1. 쿼리스트링 2. 주소변수매핑 RESTful하게 파라미터를 받기 위해서 @PathVariable을 사용한다. 2. 요청데이터 타입에 따라 파라미터 형태가 달라진다. 스프링부트는 기본적으로 key=value 형태의 x-www-form-urlencoded 타입을 파싱해준다. 따라서 별도의 @RequestBody와 같은 어노테이션 없이 String으로 받을 수 있다. 하지만 text/plain이나 application/json형태의 데이터의 경우는 @RequestBody나 @Re.. 2022. 1. 15. 스프링부트 등장배경&동작원리 Spring framework는 다양한 기술을 지원하지만 개발자가 처리해야 할 설정들이 너무 많다. 처음 접하는 개발자 입장에서는 부담이 많이 된다. --> 스프링부트의 등장 스프링부트의 장점? 1) 테스트환경 -JUnit과 같은 테스트 라이브러리가 내장되어있다. 2) application.properties 또는 application.yaml과 같이 xml파일을 대신할 수 있는 설정파일 세팅 가능 3) 설정자동화 - Maven의 기능과 'starter' 컴포넌트들을 이용해 라이브러리 의존성을 훨씬 간단하게 처리할 수 있다. 4) 톰캣이 내장되어 있다. 설명에 앞서.. 웹페이지는 정적컨텐츠와 동적컨텐츠가 모두 존재한다. 사용자의 요청에 맞게 동적컨텐츠를 만들어서 제공해야한다. 웹서버만을 이용한다면, 사용.. 2022. 1. 13. 이전 1 2 3 다음