스프링-시큐리티 인증 절차 정리 본 글은 스프링 시큐리티의 인증 절차와 시큐리티의 클래스들의 역할에 대해 정리 하는 글이다 1. 시큐리티에서 인증과 권한이란? 인증 절차를 거친후 권한 절차를 진행한다. 1) 인증: 사용자가 본인이 맞는지를 확인하는 절차 2) 권한: 인증된 사용자가 요청된 자원에 접근권한 여부를 판단하는 절차 2. 시큐리티 인증 방식 credential 기반 인증: 아이디+비밀번호 를 이용하여 인증 -principal: 아이디 -credential: 비밀번호 3. 시큐리티 주요 모듈 1) SecurityContextHolder, SecurityContext, Authentication 이 세가지 클래스는 시큐리티의 주요 컴포넌트로서 시큐리티에서 방금담은 Authentication을 1.SecurityContext 에 보.. SPRING/스프링-시큐리티 4년 전
스프링MVC-시큐리티-OAUTH2 로 네이버아이디 로그인 하기(소셜로그인) 리스너 오너 는 서비스 홈페이지에서 로그인을 요구하는 사용자이다. 홈페이지의 로그인 요청을 하면 그 요청은 서비스 서버로, 서버는 로그인 페이지를 전달해준다. 리스너 오너에서 네이버 로그인을 요청하면 네이버 로그인 페이지로 이동이 된다. 동의 절차 창이 뜰것이고, 인증이 통과되었으면 네아로API 신청에서 등록한 서버의 URL 주소로 인증이 완료되었다는 의미로서 Code가 보내질것이다. 인증완료 후 네이버서버에 있는 로그인 사용자의 정보를 가져오기 위해 http://xxx.naver.com/oauth2 ~~ 의 주소로 다시 이동한다.(주소값에는 클라이언트의 id,비번값 같은것이 추가로 들어가있다.) 주소값이 정확하면 네이버 OAuth 서버는 유저정보를 가져올수있는 AccessToken을 부여한다. 클라이언.. SPRING/스프링-시큐리티 4년 전
스프링-시큐리티 CSRF 토큰설정을 통한 CRUD 처리(3) POST 방식의 데이터 전송에 CSRF 토큰값을 같이 전송시켜 검증 받는 과정을 처리할 것이다. get 방식에서는 사용되지 않는다 1.글 등록창 register.jsp hidden 값을 이용해서 글 전송과 함께 토큰값을 함께 보내도록 한다. 2.글 등록 권한설정 현재 로그인 없이 글 등록을 할수 없게 적용을 시켜두었다. list.jsp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 자유게시판 글 등록 . . . . $("#regBtn").on("click", function() { '' self.location = "/board/register"; '' '' alert("로그인후 가능합니다."); '' }); Colored by Color Scripter.. SPRING/스프링-시큐리티 4년 전
스프링 시큐리티- 인증 절차 MemberVO 를 UsersDetails로 변환(2) MyBatis로 가져온 MemberVO 정보를 스프링 시큐리티 타입에 맟춰서 사용할려면 UserDetails 타입으로 변환해야한다. 변환을 해줘야지만이 스프링 시큐리티를 사용할 수 있다. 1.User UserDetails의 구현클래스인 User 클래스를 확장받아 변환을 진행할것이다. CustomUser 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 @Getter public class CustomUser extends User{ private static final long serialVersionUID = 1L; private MemberVO member; public CustomUser(String username, String password, Co.. SPRING/스프링-시큐리티 4년 전
스프링 시큐리티- 인증 절차 인터페이스 구현 UserDetails, UserDetailsService(1) 1. UserDetails Spring Security에서 사용자의 정보를 담는 인터페이스는 UserDetails 인터페이스이다 사용자의 정보를 모두 담아두는 클래스를 구현할 것이다. 2.UserDetailsService 사용자의 정보를 담을 객체를 만들었으니, DB에서 유저 정보를 직접 가져오는 인터페이스 UserDetailsService 인터페이스에는 DB에서 유저 정보를 불러오는 중요한 메소드가 존재한다. 바로 loadUserByUsername() 메소드 여기에서 CustomUserDetails 형으로 사용자의 정보를 가져오면 된다. CustomUserDetailsService 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 @Log4j public class Cus.. SPRING/스프링-시큐리티 4년 전