# CRUD

게시글과 사용자 일대다 관계 
게시글과 첨부파일 일대다 관계
게시글과 태그 다대다관계 

댓글 사용자 일대다 관계
댓글 대댓글 일대다 관계 (댓글 하나당 여러 대댓글 가능)
좋아요 싫어요 하나의 댓글에 같은 사용자가 여러번 투표하는 것을 막히 위해서 사용자를 식별 해야 한다.

댓글에 대댓글이 있을 경우 댓글이 삭제 되면 자식은 고아가된다 그래서 데이터에베이스의 논리적 삭제를 사용한다. (삭제 플래그를 남김)
그래서 댓글은 삭제 하고, 삭제되었다는 글을 출력하여 준다.

(more - 3가지 경우 1. 삭제된 댓글이면서 대댓글도 없다. 이때는 아무것도 출력할 필요가 없다.
 2. 삭제된 댓글이지만 대댓글이 있따. 삭제되었다는 글을 표시하고 대댓글은 계속 출력.
 3. 살아 있는 댓글 이다, 자신도 출력하고, 자식 댓글도 계속 출력한다.)

MORE

# 인증과 인가

제가 아는 내용 :  

          인가란, 인증된 사용자가 권한(접근권한 등)이 있는지 확인 하는 것  
          인증이란, 사용자 본인이 맞는지 확인 하는것

 

절차 : 인증 후 -> 인가


- 실생활에서 예를 들면, 어느 연구소에 처음 출근하는 사용자가 출입을 희망 한다고 가정하자, 사용자는 연구소에 처음 왔기 때문에 출입권한이 없다. 이 과정에서 연구소의 직원으로 등록하여 
 
권한을 주는 것이 바로 인가이고, 직원으로 등록 되었기 때문에 출입이 가능하여 이 것을 인증 되었다고 한다.

- 실제 Web 서비스에서 예를 들면,  인증된 사용자가 아니면, 즉 로그인 하지 않은 사용자는 글을 작성하고 수정하고 삭제 할수 없다 또, 인가된 사용자가 아니면(권한이 부여된) 로그인한 사용자라도 글 작성, 수정, 삭제를 할 수있지만 

자신이 작성하지 않은 글도 수정 이나 삭제 할 수있으면 안된다.   

라라벨에 auth middleware, 스프링에 security 내장된 기능을 사용 할 수 있다.

+ Recent posts