Encoder비밀번호를 passwordEncoder된 비밀번호로 관리passwordEncoder.encode(비밀번호) 를 해당 비밀번호에 넣어줘야함로그인 시 부호화(encode)된 비밀번호를 java에서 비교해서 로그인 결과를 확인한다 (부호화된 비밀번호를 우리가 복호화할 수는 없음)SQLMEMBER 테이블에 enabled 추가CREATE TABLE MEMBER_AUTH ( MEM_ID VARCHAR2(15) NOT NULL, AUTH VARCHAR2(150) NOT NULL, CONSTRAINT MEMBER_AUTH_PK PRIMARY KEY(MEM_ID, AUTH), CONSTRAINT FK_MEM_AUTH FOREIGN KEY (MEM_ID) REFEREN..
전체 글
sqlCREATECREATE TABLE USERS( USERNAME VARCHAR2(150) NOT NULL, PASSWORD VARCHAR2(150) NOT NULL, ENABLED VARCHAR2(1), Constraint PK_USERS PRIMARY KEY (USERNAME))CREATE TABLE AUTHORITIES( USERNAME VARCHAR2(150) NOT NULL, AUTHORITY VARCHAR2(150) NOT NULL, CONSTRAINT PK_AUTH PRIMARY KEY (USERNAME, AUTHORITY), CONSTRAINT FK_AUTH_USER FOREIGN KEY (USERNAME) REFERE..
스프링 시큐리티보안 기능을 구현하는 데 사용되는 프레임 워크스프링 시큐리티는 필터 기반으로 동작하기 때문에 스프링 MVC와 분리되어 동작된다인증(Authentication) - 로그인인가(Authorization) - 권한 (메뉴 접근, 버튼 접근)제공기능세션 관리로그인 처리CSRF 토큰 처리암호화 처리자동 로그인CSRF(Cross-site request forgery)크로스 사이트 요청 위조는 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격환경 설정pom.xml org.springframework.security spring-securit..
Hibernate-Validatorbean(자바 빈 클래스, VO)의 유효성 검사의 기능을 이용해 서버측에서 입력값 검증을 하는 라이브러리빈 클래스 앞에 @Validated를 붙이면 활성화 된다Bean Validation이 제공하는 제약 애너테이션NotNull : 빈 값 체크(int타입)NotBlank : null 체크, trim후 길이가 0인지 체크(String타입)Size : 글자 수 체크Email : 이메일 주소 형식 체크Past : 오늘보다 과거 날짜(ex. 생일)Future : 미래 날짜 체크(ex. 예약일)DateTimeFormat(pattern="yyyy-MM-dd") : 해당하는 패턴의 날짜 String을 Date로 변환AssertFalse : false 값만 통과 가능AssertTrue ..
트랜잭션만약 회원과 카드, 취미 테이블을 정보를 저장하는 작업을 할 시 하나라도 실패하면 저장을 모두 하지 말아야한다회원 > 취미 > 카드 작업 중에 카드 저장이 실패된 경우카드는 저장되지 않았지만 회원과 취미는 저장된 상태가 된다.하나라도 실패할 시 한번에 관리해야되므로이러한 현상을 관리해주기 위해서 트랜잭션을 관리해야하며애노테이션@Transactional를 통해 이루어진다초기 설정root-context.xmlbean에 추가xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/bean..
문제 설명 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다. 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다. 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다. 이전에 등장했던 단어는 사용할 수 없습니다. 한 글자인 단어는 인정되지 않습니다. 다음은 3명이 끝말잇기를 하는 상황을 나타냅니다. tank → kick → know → wheel → land → dream → mother → robot → tank 위 끝말잇기는 다음과 같이 진행됩니다. 1번 사람이 자신의 첫 번째 차례에 tank를 말합니다. 2번 사람이 자신의 첫 번째 차례에 ..