Java/Spring (32) 썸네일형 리스트형 SPRING SECURITY 보안프레임워크 MAVEN 라이브러리 추가 pom.xml 11 5.3.29 5.8.6 1.9.19 2.0.7 org.springframework.security spring-security-core ${security-version} org.springframework.security spring-security-web ${security-version} org.springframework.security spring-security-config ${security-version} core,web,config 다 있어야 함. web.xml springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy springSecurityFilterCha.. 이메일 검증하는 법 : SMTP 활용 SMTP(Simple Mail Transfer Protocol) 인터넷에서 이메일을 전송하기 위한 프로토콜 메일 서버간 송수신 또는 클라이언트에서 메일 서버로 보낼 때 사용. 보안계층 방식 2가지 1)SSL == 465 2)TLS == 587 (SSL에서 보안 더 강화) com.sun.mail javax.mail 1.6.2 org.springframework spring-context-support ${org.springframework-version} pom.xml에 추가 (support 추가해주면 bean으로 등록해서 편하게 사용 가능) root-context.xml에 아래와 같이 작성. smtp true true CSRF(Cross-Site Request Forgery) 공격 CSRF 공격(Cross Site Request Forgery) : 웹 애플리케이션의 취약점 중 하나로 인터넷 사용자(희생자)가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정,삭제,등록 등)을 특정 웹사이트에 요청하게 만드는 공격 - > 토큰인증방식으로 막는다.(Interceptor 활용) 우리 사이트에서 요청이 들어온건지 토큰으로 확인. ex. 게시판에서는 1.CreateTokenInterceptor에서 게시글 상세보기 페이지 이동 시 csrf_token 발급 -세션에 저장 2. 상세보기 페이지에서 수정, 삭제 요청시 csrf_token 같이 전달.(request에 저장) 3. CheckTokenInterceptor 에서 session의 csrf_token과 request에서 전달된 csrf_to.. provider : searchType DB 보낼때 처리하는 방법 mvc part11_common/board/provider 참고 org.apache.ibatis.jdbc.SQL : 메소드 이용해서 쿼리문 만드는 객체 # mapper(=dao)에 작성 type에는 provider클래스 적어준다. @SelectProvider(type=BoardQueryProvider.class, method="searchSelectSql") List listCriteria(SearchCriteria cri) throws Exception; #provider 클래스에는 mapper 메소드의 argument와 같이 메소드를 작성해준다. ex) public String searchSelectSql(SearchCriteria cri) { } public String searchSelectSql.. 8.17 사용자 처리 및 board mvc_part11_common 프로젝트 컨트롤러 스캔시 c:url 이용해서 절대경로로 지정해준다. SIGN IN SIGN UP location.href=''; log.info("target : {}", pjp.getTarget()); // {} : 뒤에 데이터를 추가해서 문자열로 완성시켜줌. // 어디에서 호출된건지 아이디길이, 비밀번호 길이 처럼 정책에 따라 변경될 수 있는 내용은 interceptor에서 처리한다. 이렇게 하면 로직 손대지 않고 할 수 있어서 유지관리 쉽다. * 자바스크립트에서도 유효성검사 진행해야함! *interceptor 이용시 interceptor-context.xml에 등록 꼭 하기 회원가입시 비밀번호 확인 처리 Interceptor에서 확인 후 pw와 repw가 일치하지 않.. INTERCEPTOR Filter 생성 시 배포서술자에 작성하는 대신 클래스에 어노테이션으로 등록할 수 있다. @WebFilter(urlPatterns = "/*") //배포서술자에 안쓰고 여기서 등록 public class PrintFilter implements Filter{.........................................................................대략 내용..........} INTERCEPTOR는 스프링 컨테이너에서 관리하므로 spring bean을 사용할 수 있다. (filter는 bean사용못함) INTERCEPTOR 구현하기 1. implements HandlerInterceptor 를 한 인터셉터 클래스 생성. 2. spring bean configurat.. 트랜잭션 제어 메세지보내면 점수가 추가되는 것처럼 동일한 트랜잭션에서 처리가 되어야 하는 경우 사용. 1. root-context에 bean추가 2. namespace에 tx추가 3. 4. 필요한 메소드에 @Transactional 붙여준다. @Transactional @Override public void addMessage(MessageVO vo) throws Exception { System.out.println("addMessage Service 시작"); System.out.println("addMessage Service " + vo); // 발신자 포인트 증가 UserVO uv = new UserVO(); uv.setUid(vo.getSender()); uv.setUpoint(10); userDAO.upd.. AOP FILTER, AOP, INTERCEPTOR 는 전처리/후처리 할수 있다. but넘겨받는 매개변수,수행시점이 틀림 - Filter 는 servlet request,servlet response, filterchain 전달받음 (Dispatcher servelt이 요청을 전달받기 전) - INTERCEPTOR는 Httpservlet request, Httpservlet response, Model&view , exception 전달받음 INTERCEPTOR는 dispatchar 서블릿에서 controller 호출하기 전/후처리 가능. - AOP는 메소드의 파라미터 값, return된 값 전달받음 AOP는 실제 작성한 객체의 메소드가 실행되기 전 후. 반복적으로 수행되면서 프로젝트를 가로지르는 횡단 관심사(.. 이전 1 2 3 4 다음