목록분류 전체보기 (85)
경주장
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/LU8Rq/btrswUM6eSk/zqSVaQPTKIA0QBuaNNFBi1/img.png)
• 익명사용자 인증 처리 필터 • 익명사용자와 인증 사용자를 구분해서 처리하기 위한 용도로 사용 • 화면에서 인증 여부를 구현할 때 isAnonymous() 와 isAuthenticated() 로 구분해서 사용 • 인증객체를 세션에 저장하지 않는다 -> SecurityContext에 저장한다. 다른 필터에 비해 역할이 꽤 간단하다. 인증된 사용자와 익명 사용자를 조금 더 명확하게 구분하기 위해 익명사용자라 할지라도 인증객체를 null이아닌 익명사용자용 인증객체를 설정하는 역할을 한다. AnoymousAuthenticationFilter의 doFilter public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) { if..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cxATCh/btrshzBDunr/3uvwm4KKieE7ab1UrKSht0/img.png)
1. Remember-Me 기능 - 세션이 만료되고 웹 브라우저가 종료된 후에도 어플리케이션이 사용자를 기억하는 기능 2. Remember-Me 쿠키에 대한 Http 요청을 확인 -> 토큰 기반 인증을 사용해 유효성을 검사하고 토큰이 검증되면 사용자는 로그인 된다. http.rememberMe() : rememberMe 기능이 작동함 http.rememberMe() .rememberMeParameter("remember-me") //파라미터 명 .tokenValiditySeconds(3600) //토큰 유효 시간 .alwaysRemember(true) //항상 실행 여부 .userDetailsService(userDetailsService()); // 1. SecurityContext의 Authentic..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/effCCV/btrr4R4cLAD/MwikYsbKci6yLpO1NMz3KK/img.png)
로그아웃은 1. 세션 무효화 2. 인증 토큰 삭제 3. 쿠키 정보 삭제 4. 로그인 페이지로 리디렉트 의 순서로 이루어 진다. http.logout(): 로그아웃 기능이 작동한다 http.logout() .logoutUrl("/logout") //로그아웃 처리URL .logoutSuccessUrl("/login") //로그아웃 성공 후 이동 페이지 .deleteCookies("JSESSIONID", "remember-me") //로그아웃 후 삭제 쿠키 이름 .addLogoutHandler(logoutHandler()) //로그아웃 핸들러 .logoutSuccessHandler(logoutSuccessHandler()); //로그아웃 성공 핸들러 다른 기능들은 직관적이지만 logoutHandler와 log..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cLTDiY/btrr2Sbqrf4/KO9TDljImWFTSvoDdvK2eK/img.png)
폼인증을 처리하는 UsernamePasswordAuthenticationFilter는 1. 요청이 loginProcessingUrl인지 확인하고 그렇지 않다면 다음 filter를 호출한다. 2. 요청의 username, password를 바탕으로 Authentication을 생성하여 AuthenticationManager(인증관리자)에게 인증을 요청한다. 3. AuthenticationManager는 내부적으로 AuthenticationProvider를 선정하여 인증을 진행하고 실패하면 AuthenticationException을 Filter까지 던지고 Filter는 FailureHandler를 호출한다. 4. 인증에 성공했다면 User,Authorities를 포함한 Authentication객체가 생성..
java.util패키지는 유용한 클래스들을 많이 가지고 있는 패키지 날짜와 관련된 클래스인 Date, Calendar클래스 자료구조와 관련된 컬렉션 프레임워크와 관련된 인터페이스와 클래스 deprecated란 더이상 지원하지 않으니 사용하지 않는 것이 좋다란 의미다. Date클래스는 지역화를 지원하지 않는다. 지역화란 국가별로 현재 날짜와 시간은 다를 수 있는데, 그 부분을 지원하지 못한다. 이런 문제를 해결하기 위하여 나온 클래스가 Calendar클래스. Calendar클래스는 자바 1.1에 등장하였다. 지역화와 관련된 클래스들은 Locale로 시작되는 이름을 가진 클래스들입니다. 역시 1.1 이후에 등장한다. List, Set, Collection, Map은 자료구조 즉 컬렉션 프레임워크와 관련된 인..
자바는 기본적으로 다양한 패키지를 지원 그중에서 가장 중요한 패키지 java.lang패키지의 클래스는 import를 하지 않고도 사용할 수 있다. java.lang패키지에는 기본형타입을 객체로 변환시킬때 사용하는 Wrapper클래스가 있다. Boolean, Byte, Short, Integer, Long, Float, Double 클래스 모든 클래스의 최상위 클래스인 Object도 java.lang패키지 문자열과 관련된 String, StringBuffer, StringBuilder도 모두 java.lang패키지 화면에 값을 출력할때 사용했던 System클래스도 java.lang패키지 수학과 관련된 Math클래스도 java.lang패키지 Thread와 관련된 중요 클래스들이 java.lang패키지 이외에..
오브젝트 - 모든 클래스의 최상위 클래스 eqauls, toString, hashCode와 같은 method를 가지고 있다. eqauls - 객체가 가진 값을 비교할 때 사용 Object클래스의 equals매서드는 은 객체의 주소를 비교하는 == 연산자 만을 통해 두 객체가 같은 객체일 때만 true를 반환하고 있다. public boolean equals(Object obj) { return (this == obj); } hashCode - 객체의 해시코드 값 반환 학습 필요... public native int hashCode(); toString - 객체가 가진 값을 문자열로 반환 Object클래스의 toString( )매서드는 "클래스명@HashCode"를 문자열로 반환하고 있다. public S..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/E4oAH/btrrXpZtfCq/hbgdpyDsntc6dS08wkviHK/img.png)
목표 자바가 제공하는 다양한 연산자를 학습하세요. 학습할 것 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표(->) 연산자 3항 연산자 연산자 우선 순위 (optional) Java 13. switch 연산자 switch case문의 switch와는 다른 Java 13에 새롭게 추가된 switch 연산자입니다. 잘 활용되지 않는것 같아 스킵하겠습니다. 연산자와 연산식 프로그램에서 데이터를 처리하여 결과를 산출하는 것을 연산(operations)이라고 한다. 연산에 사용되는 표시나 기호를 연산자(operator), 연산되는 데이터는 피연산자(opreand)라고 한다. 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것을 연산식(expr..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bjnwz4/btrqPhnOVXY/ofY0AVHHlU1iT5WXbv1Za0/img.png)
2주차 과제. 자바의 프리미티브 타입, 변수 그리고 배열 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 프리미티브 타입 종류와 값의 범위 그리고 기본 값 값의 종류 기본 타입 메모리 크기 범위 기본값 정수 byte 1byte -2^7~(2^7-1) 0 char 2byte 0~(2^16-1) '\u0000' short 2byte -2^15~(2^15-1) 0 int 4byte -2^31~(2^31-1) 0 long 8byte -2^63~(2^63-1) 0L 실수 float 4byte (+/-)1.4E-45~(+/-)3...
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/XjH02/btrqGrEQLTa/B01g7KbsOPdA83FWTtXe1K/img.png)
게시판 프로젝트를 진행함에 있어 도메인 모델 이런 모델에 대한 엔티티 설계로 대충 이런 참조 모델이 나왔고 테이블도 아주 잘 나왔다! 근데 댓글 추가가 안되서 살펴보니 alter table comment add constraint FKs1slvnkuemjsq2kj4h3vhx7i1 foreign key (post_id) references post (post_id) Hibernate: alter table comment add constraint FKp41h5al2ajp1q0u6ox3i68w61 foreign key (account_id) references account (account_id) Hibernate: alter table comment add constraint FKgcjcve80iene8g..