Spring boot kim's cafe 57

Spring boot 마이페이지!(2) 이메일 인증 with JavaMailSender

메일을 보내기 위해 build.gradle 로 들어가서 하나의 의존성을 추가한다 이걸 넣으면 @Autowired private JavaMailSender sender;//자체적으로 제공해주는 기능 이렇게 자체적으로 제공해주는 기능을 사용할 수 있다 의외로 메일 보내는 건 어렵지 않다 toaddress=보낼 주소 subject=제목 body=내용이다 핸드폰 인증도 비슷한 거 같다 다만 돈이 든다 그래서 마지막에 공부해보려고 한다 그리고 application.properties로 가서 이렇게 추가해준다 단 사용할 계정에서 보안 수준이 낮은 앱의 액세스 허용을 해줘야 한다! 이제 userservice로가서 인증번호 전송 발생 시 db에 들어있는 랜덤 넘버를 수정해주는 함수를 만들자 @Transactional ..

Spring boot 마이페이지!(1) with AuthenticationPrincipal

이제 마이페이지를 만들건대 간단하게 내 정보 비밀번호변경 이메일 인증 서비스를 구현해볼 것이다! 컨트롤러에서 @GetMapping("/mypage") /auth/를 빼고 작성해준다 왜냐면 로그인 시에만 들어올 수 있게 해 주기 위해서 이다 @AuthenticationPrincipal principaldetail principaldetail 로그인을 성공했다면 여기에서 로그인한 사용자 정보를 꺼내 쓸 수 있다 역시 스프링이 자체적으로 제공하는 기능이다 편리하고 보안성 있다 그리고 model에 uservo를 통으로 넘겨주고 html에서 사용해준다 놀랍게도 thymealf에서 함수까지 그대로 저렇게 사용이 가능하다 모든 게 제대로 출력된다 물론 시간제한도 만들고 해야 하지만 일단 완벽하게는 아니더라도 80프로..

Spring boot 로그인하기! with Security

controller에 로그인 페이지를 걸어준다 loginpage를 구현해주고 구글로그인 페이스북로그인 이거는 스프링에서 oauth2에서 미리 지정해서 논 경로라고 한다 그리고 여기서 주의할 점 name="username" name="password" 스프링한테 줄 때 이렇게 해줘야 한다 물론 바꿀 수도 있는데 그냥 안 바꾸고 진행하는 게 편하다! 왜 이렇게 받는지는 시큐리티 로그인을 만들면서 봐보자! 일단 로그인 성공 시 담을 principaldetail을 만든다 spring으로 자체적으로 제공해주는 userdetails를 임플리먼트 받는다! 로그인에 성공 했다면 시큐리티 전용 세선에 authentication으로 감싸 져서(?) 들어가게 된다 사용 시에는 security session=>authenti..

Spring boot 회원가입 만들기!(3) 해시하기 with BCryptPasswordEncoder

이제 비밀번호 및 이름을 받아서 넣을 건데 dto와 바닐라 js를 이용해서 유효성 검사를 할 것이다! 원래 프런트엔드에서도 보안 작업을 걸어야 하지만 사실상 검사를 눌러서 수정해 버리면 의미가 없어지기 때문에 백엔드에서 잘못된 값이 들어왔을 때 튕겨내주는 장치를 하려고 한다! (뇌피셜 일뿐 프런트엔드 전문가 분들이 만들다면 당연히 좀 더 다를 거라고 생각한다 보안은 그냥 정말 특수한 공부 영역 같다) 일단 역시 바닐라 js로 비밀번호 역시 css를 만져준다! 이제 회원가입을 진행할 텐데 form->controller->userservice->비밀번호 해시-> dao->service->controller 이렇게 될 거 같다 이제 시큐리티로 가서 인코더를 만들자! BCryptPasswordEncoder 를 ..

Spring boot 회원가입 만들기!(2) 아이디중복검사 with ajax

이제 아이디 중복검사를 할 건데 바닐라 js 비동기 통신을 할 것이다 원래는 j쿼리를 사용했지만 바닐라 js로 사용하는 습관을 들일 예정이다 순서는 이렇게 된다 ajax요청->requestcontroller요청->userdao탐색->userservice반환->requset반환->ajax가 받음 userdao에 jpa 식으로 써준다 크정말 신기하다 저렇게 대소문자를 구별해서 써주면 혼자서 db에 select *from 테이블 이름 where email=?! 이렇게 쏴준다! 이제 userservice를 만들어준다 비웠다면 true가 들어있는 yes를 줄 거고 아니라면 false가 있는 no를 줄 것이다! (추후 existsByEmail로 변경했다) requsercontroller를 지정해준다 import 맞..

Spring boot 회원가입 만들기!(1) with security And mvcModel And jpa

일단 시큐리티설정을 해주고 모든 페이지에 대한 조건을 허용으로 해준다! .antMatchers("/","/auth/**","/static/**")////이 링크들은 .permitAll();///허용한다 모든 요청을 허용한다 를 해주고 이제 vo/dao/dto를 만들 것이다 dto는 왔다 갔다 컨테이너 용도이고 vo는 데이터베이스에 넣는 용도로 쓸 것이다! 컨트롤러에서 회원가입 페이지로 갈 수 있게 만들어준다! vo/dto/dao를 만들어준다! 1.vo 2.dto import javax.validation을 사용해 조건에 맞지 않는 형식이 들어오면 메시지를 출력해준다! userdto라고 되어있는데 나중에 singupdto/logindto 용도에 따라 나눠볼까 생각도 든다 3.dao 스프링 시작 시 의존성 ..