Spring Security

게시글 작성에서 기존의 방식은 사용자가 글 제목, 작성자, 글 내용을 직접 입력해야했습니다. 그러나 로그인한 사용자의 이름을 게시글 작성자로 설정해두고 싶습니다. 이 처리를 위해서는 세션이 필요하다고 생각했고 관련 자료들을 찾게 되었습니다. HttpSession 활용하기 https://pro-pennek.tistory.com/entry/Spring-%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC%EC%97%90%EC%84%9C-%EC%84%9C%EB%B9%84%EC%8A%A4%EB%A1%9C-Session%EA%B0%92-%EB%84%98%EA%B8%B0%EA%B8%B0 [Spring] 컨트롤러에서 서비스로 Session값 넘기기 어으 죽을 맛이다.ㅋㅋㅋㅋ 이것때문에 개고생함. 컨트롤러..
오늘은 회원가입 후 home으로 돌아가고 다시 사용자가 로그인해야되는 과정을 자동 로그인 방식으로 바꿔보겠습니다. 여담이지만 저는 로그인 다음에 게시글 목록 창으로 리다이렉트 시키는 작업도 해줬답니다. 별건 아니지만 그걸 이제서야 하는 나란 아이.. 자동 로그인 구현 @PostMapping("/user/register") public String signup(UserDto userDto,HttpServletRequest request,HttpServletResponse response) throws ServletException { userService.saveUser(userDto,request,response); request.login(userDto.getUsername(),userDto.getPa..
회원가입/로그인에 이어서 로그아웃 기능을 구현해봅시다. SecurityConfig 수정 @Override protected void configure(HttpSecurity http) throws Exception { //... .and() .logout() .logoutSuccessUrl("/") // 로그아웃 성공시 리다이렉트 주소 .invalidateHttpSession(true); // 로그아웃 이후 세션 전체 삭제 여부 } config 파일에 로그아웃 기능을 추가해줍시다. 스프링 시큐리티가 참 좋아요. 이렇게 직관적인 메서드들을 제공해주므로 그대로 써줍시다. 로그아웃 관련 메서드들 정리 logoutSuccessUrl("URL") redirect할 주소를 적어줍니다. html같은 페이지 단위 주소..
username과 password로 로그인을 구현해보도록 하겠습니다. Overview spring security의 PasswordEncoder를 이용하면 단방향 방식의 암호화를 통해 비밀번호를 안전하게 저장할 수 있습니다. 실제로 회원가입 기능에서 PasswordEncoder를 상속받은 BCryptPasswordEncoder를 이용해서 비밀번호를 저장하는 기능을 구현해봤습니다. 로그인 기능을 구현한다면서 왜 갑자기 회원가입을 언급하고 있는 걸까요?? 이유는 로그인 방법이 두 가지로 나뉘기 때문입니다. 암호화 과정을 두 번 거칠 것인지 아니면 비밀번호 저장 방식을 바꿀 것인지로 말이죠. 저장 방식을 바꿔보자 spring security 공식 문서에서 추천하는 방식은 DelegatingPasswordEnc..
지난 시간에 어떤 URI로 요청이 들어와도 무조건 login 페이지가 뜨는 마법을 겪고 글을 끝냈습니다. 이 매직에서 벗어나려면 SecurityConfig 클래스를 만들어서 configuration 수정을 해줘야 합니다. 이번 시간에는 그 방법에 대해서 다뤄보도록 하겠습니다. 로그인 페이지 사용하지 않기 @Configuration 어노테이션은 작성하지 않으셔도 됩니다. 일반적으로 패키지랑 이름을 제대로 지켜주면 스프링이 알아서 이 클래스 파일이 Config 파일이구나~ 하고 인지합니다. 간혹 인식하지 못하는 경우에만 추가해주시면 되겠습니다. 우리를 괴롭히는 로그인 페이지를 사용하지 않을거라면 위 두 가지 방식으로 제어할 수 있습니다. 첫 번째는 모든 요청에 대해서 권한을 허용하는 방법이고 두 번째는 로그..
간단하게 사용자 이름(닉네임)과 비밀번호 정보를 가지고 회원가입 기능을 구현해보겠습니다. 저번에 포스팅하다가 끊긴 게시판 만들기와 같은 프로젝트입니다. 프론트엔드는 이미 따로 구성해놓으셨다는 가정하에 진행하겠습니다. 저는 디자인을 잘 몰라서.. 프론트엔드 부분을 대충 구성해놓았기에 공유해드리기도 민망해서 그렇습니다. 제일 먼저 spring security를 사용하려면 dependency를 추가해줘야겠죠. build.gradle에 다음과 같은 의존성을 추가해줍니다. implementation 'org.springframework.boot:spring-boot-starter-security' 자 기본 설정(?)은 완료가 되었으니 실질적인 코드 작성을 해보겠습니다. 일단 이번에도 JPA를 가지고 만들게요. U..
moongomi
'Spring Security' 태그의 글 목록