quilt code

정리정리 본문

weekly

정리정리

김뱅쇼 2023. 5. 25. 14:28

1. 스프링 시큐리티에서 submit할 때

 1) 
  <%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
  <form 태그 사용 시 
  <sec:csrfInput />
  </form>
 
 2) ajax 사용시 
  beforeSend : function(xhr){
xhr.setRequestHeader("${_csrf.headerName}","${_csrf.token}");
},
success : function(result){

 3) 파일 업로드 시
 <form .. action="요청URI?${_csrf.parameterName}=${_csrf.token}"
    method="post" enctype="multipart/form-data">
  <sec:csrfInput />
  </form>
 

2. 자동 로그인
 1) 로그인하면 특정 시간 동안 다시 로그인 할 필요가 없는 기능
 2) 스프링 시큐리티는 데이터베이스를 사용하여 처리. persistent_logins 테이블.
 3) security-context.xml에서 remember-me 태그를 이용하여 구현함.

3. 스프링 시큐리티 표현식
 1) hasRole("ROLE_MEMBER") : 해당 롤(Role:권한)이 있으면 true
 2) hasAnyRole("ROLE_MEMBER","ROLE_ADMIN") : 여러 롤들 중에서 하나라도 해당하는 롤이 있으면 true
 3) principal : 인증된 사용자의 사용자 정보(UserDetails 인터페이스를 구현한 클래스의 객체)
  ex) <sec:authentication property="principal" var="principal" />
 4) authentication : 인증된 사용자의 인증 정보(Authentication 인터페이스를 구현한 클래스의 객체)
 5) permitAll : 모든 사용자에게 허용
 6) denyAll : 모든 사용자에게 거부
 7) isAnonymous() : 익명의 사용자의 경우(로그인을 하지 않은 경우도 해당)
  ex) <sec:authorize access="isAnonymous()"></sec:authorize>
 8) isAuthenticated() : 인증된 사용자의 경우 true
  ex) <sec:authorize access="isAuthenticated()"></sec:authorize>
 9) isFullyAuthenticated() : Remember-me로 인증된 것이 아닌 일반적인 방법으로 인증된 사용자인 경우 true
 
 
 4. 분석/설계
  1) 개체 Entity
   - 명사
   - 업무 프로세스에서 빠져서는 안 될 중요한 개념
   - 계속 관심을 갖고, 지속적으로 업데이트할 대상. 자주 사용하고 있는 개념
   - 개체와 개체는 서로 구별이 명확. 범위도 명확.
  2) 관계 Relationship
   - 동사
   - 개체와 개체간에 관계가 있음
   - 관계 차수는 1:1, 1:N, N:M. 이 중에서 N:M의 관계는 데이터베이스에서 처리할 수 없으므로 1:N의 관계로 해소해줘야함
  3) 속성 Attribute
   - 개체가 공통적으로 갖고 있는 공통성질
  
  
  
  
  
  
  
  
  
 
 
 
 
 
 
 
 

'weekly' 카테고리의 다른 글

카멜표기법  (0) 2023.05.25