인가 API - 권한 설정 선언적 방식 URL http.antMatchers("/users/**")/hasRole("USER") Method @PreAuthorize("hasRole("USER")") public void user() {System.out.println("user")} 동적 방식 - DB 연동 프로그래밍 URL Method 선언적 방식 - URL url 자체를 선언하여 접근 권한을 조정하는 방식 설정 시 구체적인 경로가 먼저오고 그것 보다 큰범위의 경로가 뒤에 오도록 하여야 한다. 각 메소드에 대한 내용은 아래 같다. .authorizeRequests() : 모든 경로에 보 요청되는 메소드를 선언 .antMatchers("/","/users","user/login/**", "/login*..
어노테이션 이전의 방식 현재 많이 사용되는 어노테이션의 등장되기 전 어떠한 코드로 IoC를 관리 해왔는지 어느정도 알아보면 어노테이션을 이용한 방식이 편한지 알 수 있다. 이전의 방식은 .xml파일에 직접적으로 빈의 정보를 입력 하여야 한다. Maven 프로젝트의 경우 그러한 Bean 관리를 root-context.xml에서 관리 하고 있다. 위와 같은 의존성을 가지려고 하면 xml에는 아래와 같이 Bean을 추가하여야 한다. 그렇다면 B2의 클래스를 B3로 변경하려면 한다면 xml에서 코드를 아래와 같이 변경해야 할 것이다. 어노테이션의 사용 최초의 Spring의 등장시에는 저러한 방식도 매우 편리한 방식의 코드 였다. 하지만 사람이라는 것은 더 편한 것을 찾기 마련이었고 그 방안으로 어노테이션을 이용..
바꿔 볼 Java code .xml 은 하나의 IoC 컨테이너로 bean들을 해당 파일 안에 선언해두면 우리가 원하는 대로 선택해서 사용 할 수 있게된다. 그렇다면 이러한 bean은 어떻게 만들어지는지 확인해보자. 먼저 바꿔볼 자바 코드는 아래와 같다. Exam exam = new NewlecExam(); ExamConsole console = new GridExamConsole(); console.setExam(exam); console.print(); 우리가 필요한 기능 들은 NewlecExam클래스에 있고 그것을 인터페이스인 exam 타입으로 객체를 만들어 두었다. 그리고 원하는 모양의 콘솔을 console로 선언 해두었고, 원하는 값을 받아서 출력하는 코드가 바로 위의 코드이다. .xml 로 객체..
Spring Spring이란 JAVA기술들을 더 쉽게 사용할 수 있게 해주는 오픈소스 프레임 워크이다. 엔터프라이즈(Enterprise)급의 프로젝트를 처리하는 JaveEE가 사용하기가 어렵고 문제가 많았음. Spring 은 JavaEE를 대체하기 위해서 나타난 프레임워크(Framework) 이다. 자바의 에디션 종류 1. JavaME(Mobile Edition) : 소규모 // 2. JavaSE(Standard Edition) : 표준 // 3. JavaEE(Enterprise Edition) :기업용 그렇다고 해서 JavaEE가 사라진 것은 아니고 JavaSE + JavaEE 또는 JavaSE + Spring을 선택하여 프로젝트를 만들 수 있다 . ( 세개 다 사용할 수 있음) 프레임 워크 (Fram..
SessionManagementFilter 세션에 관리작업에 관련된 업무를 수행하는 Filter 세션 관리 인증 시 사용자의 세션정보를 등록, 조회, 삭제 등의 세션 이력을 관리 동시적 세션 제어 동일 계정으로 접속이 허용되는 최대 세션수를 제한 세션 고정 보호 일증 할 때마다 세션쿠키를 새로 발급하여 공격자의 쿠키 조작을 방지 세션 생성 정책 Always, If_Require, Never, Stateless 동시 세션 제어 동시 세션 제어 현재 동일한 계정으로 인증 받을 때 생성되는 허용된 세션의 갯수가 초과가 되었을 때, 지속적으로 세션을 유지하는 제어 방법 세션을 제한 하는 방법으로는 총 두가지가 존재함 jamesblog95.tistory.com ConcurrentSessionFilter 매 요청 ..
동시 세션 제어 현재 동일한 계정으로 인증 받을 때 생성되는 허용된 세션의 갯수가 초과가 되었을 때, 지속적으로 세션을 유지하는 제어 방법 세션을 제한 하는 방법으로는 총 두가지가 존재함. 새로운 사용자가 나타 날 경우, 이전 사용자 세션을 만료 시킴 이전 사용자 세션을 존재 할 경우, 현재 사용자 인증을 실패시킴.(로그인을 하지 못하게 함.) SecurityConfig .sessionManagement() : 세션 관리 메소드를 선언 .maximumSessions(1) : 중복 세션 최대 갯수를 설정 .maxSessionsPreventsLogin(true) : 기본값은 false이며 flase, true에 따라 세션제어 방법을 선택할 수 있음. false시 : 새로운 세션이 생기면 이전 세션은 만료시킴..