본문 바로가기
Back-End/Spring Boot

Spring Boot - 스프링 시큐리티

by 코젼 2022. 7. 22.
728x90
반응형

2022-07-22(25일차)


💡 인증과 인가

🔸 인증 : 본인이 맞는지 아닌지 확인하는 것
▪️ 인가보다 단순해질 수 있다.
▪️ 회원 관리에 대한 것, 그룹(부서) 관리, 부서별로 볼 수 있는 메뉴가 따로 들어간다.
▪️ 메뉴 관리, 권한 관리, 세부적으로 어떻게 나눌 것인지 매칭을 어떻게 할 것인지 선택한다.
 --> 어떻게 결정하냐에 따라 개발자의 업무가 단순해지거나 복잡해질 수 있다.
▪️ 메뉴 관리, 권한 관리 중요


🔸 인가 : 권한이 주어져있는지 아닌지 확인하는 것

💡 스프링 시큐리티

▪️ 시큐리티를 설정하게 되면 모든 요청에 대해서 id, pw를 넣는 디폴트 값이 설정되어 있다.
▪️ 시큐리티를 선택하고 실행만 하게 되면 localhost로 들어가더라도 로그인 페이지로 들어가게 된다.


🔸 username - user
🔸 passward - 스프링 부트에서 뜬 pw를 입력하면 된다.
 --> pw는 그 때 그 때마다 다르다.

▪️  localhost/logout을 입력하면 로그아웃을 할지 물어보는 화면이 나타난다.
▪️ 로그아웃 후 서버에 요청 하면 다시 인증을 요구한다.


🔸 페이지
▪️ 일반인에게 아무 절차 없이 보여줄 수 있는 페이지
▪️ 인증을 거치지 않으면 볼 수 없는 페이지
▪️ 인가를 거쳐서 확인해야하는 페이지

▪️ dao는 db와 연결을해서 insert, select, update, delete를 할 것이다.

🔸순서
▪️ 무조건 정해진 순서는 아니지만, 체계적으로, 규칙성 있게 한다면,
주소를 받고(Controller) --> 서비스 호출(service) --> 서비스는 dao호출 -> dao
▪️ 일정하게 하는 이유는 추후 유지보수를 잘하기 위해서이다.
▪️ 만약 업무 로직을 만들 필요가 없다면 dto로 바로 넘어가도 상관없다.

🔸MyBatis
▪️ 엑셀 형식이다.

▪️ static은 new를 적을 필요가 없다.
▪️ createMember 함수는 Member에 존재한다.
public static Member createMember(MemberFormDto memberFormDto)​

▪️ new를 하기 전에 함수부터 불러 쓰기 위해 static을 적는다 - new 필요 X

▪️ static Member createMember를 쓰면 바로 호출해서 사용할 수 있다.


🔸트랜잭션
▪️ 트랜잭션 : 쪼갤 수 없는 업무 처리의 최소 단위이다.
데이터베이스의 상태를 변화시키기 위해서 수행하는 작업의 단위이다.
▪️ 단점 : 서비스 파일 내에서만 트랜잭션이 유지가 된다.

🔸스크립트 
▪️ 장점 : 자바스크립트에서 하면 서버로 보내기 전에 검사를 하기 때문에 잘못되면 사용자에게 다시 입력하라고 요청하면 된다. 제대로 입력할 때까지 서버로 보내지 않는다.
▪️ 단점 : 서버에서는 신뢰가 없다. 자바스크립트에서 검사한 것이 제대로 된 것인지, 해커가 값을 바꾼 것은 아닌지 확실성이 없다.

🔸내부
▪️ 서버로 보내고 서버에서 Controller로 받아서 필요한 것을 서버가 검사한다.
▪️ 자바가 직접하는 거라 신뢰성은 있으나 서버가 자주 꺼진다.

저장 버튼을 누르면 해당 위치로 값을 전송한다.
Search를 통해 해당 위치를 찾는다.
검색이 되는 것을 확인할 수 있다.

▪️ 만약 없는 페이지면 빈 화면이 뜬다.

▪️ itemFormDto는 JPA를 사용하였다.

 

728x90
반응형

'Back-End > Spring Boot' 카테고리의 다른 글

Spring - Thymeleaf 레이아웃  (0) 2022.07.25
Spring Boot - MyBatis 추가  (0) 2022.07.22
Spring Boot - BootStrap  (0) 2022.07.22
Spring Boot - Maven Repository 확인하기  (0) 2022.07.22
Spring Boot - Spring DATA JPA Querydsl  (0) 2022.07.22

댓글