Java
-
아래 내용은 인프런 정수원님의 강의를 듣고 정리하는겸 적은 글입니다. https://www.inflearn.com/course/%EC%BD%94%EC%96%B4-%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8B%9C%ED%81%90%EB%A6%AC%ED%8B%B0 스프링 시큐리티 - Spring Boot 기반으로 개발하는 Spring Security - 인프런 | 강의 초급에서 중.고급에 이르기까지 스프링 시큐리티의 기본 개념부터 API 사용법과 내부 아키텍처를 학습하게 되고 이를 바탕으로 실전 프로젝트를 완성해 나감으로써 스프링 시큐리티의 인증과 www.inflearn.com Spring Boot 에서 Spring Security 를 사용하기 위해 아래와 같이 pom.xml에 의존성을 추가..
Spring Security 정리하기 (#1 사용자 정의 보안 기능 구현)아래 내용은 인프런 정수원님의 강의를 듣고 정리하는겸 적은 글입니다. https://www.inflearn.com/course/%EC%BD%94%EC%96%B4-%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8B%9C%ED%81%90%EB%A6%AC%ED%8B%B0 스프링 시큐리티 - Spring Boot 기반으로 개발하는 Spring Security - 인프런 | 강의 초급에서 중.고급에 이르기까지 스프링 시큐리티의 기본 개념부터 API 사용법과 내부 아키텍처를 학습하게 되고 이를 바탕으로 실전 프로젝트를 완성해 나감으로써 스프링 시큐리티의 인증과 www.inflearn.com Spring Boot 에서 Spring Security 를 사용하기 위해 아래와 같이 pom.xml에 의존성을 추가..
2022.12.21 -
MyBatis 를 사용할 때 데이터를 사용하는 대입과 치환 방법 2가지가 있다. #{} 방법 //Model public class VOModel { String name; ...getter, setter 생략 } SELECT * FROM test_table WHERE name = #{name} 위와 같이 #{name} 을 사용하게 되면 아래와 같이 치환된다. name 의 값이 abc 라고 하면 아래와 같다. SELECT * FROM test_table WHERE name = 'abc' #{} 으로 사용하게 되면 변수에 작은 따옴표(')가 자동으로 붙여 쿼리가 수행되기 때문에 작은따옴표를 따로 붙일 필요가 없다. 좀더 깊이 들어가자면 #{} 를 사용하게 되면 처음 쿼리는 아래와 같다. SELECT * FR..
[MyBatis] #{} 와 ${} 의 차이MyBatis 를 사용할 때 데이터를 사용하는 대입과 치환 방법 2가지가 있다. #{} 방법 //Model public class VOModel { String name; ...getter, setter 생략 } SELECT * FROM test_table WHERE name = #{name} 위와 같이 #{name} 을 사용하게 되면 아래와 같이 치환된다. name 의 값이 abc 라고 하면 아래와 같다. SELECT * FROM test_table WHERE name = 'abc' #{} 으로 사용하게 되면 변수에 작은 따옴표(')가 자동으로 붙여 쿼리가 수행되기 때문에 작은따옴표를 따로 붙일 필요가 없다. 좀더 깊이 들어가자면 #{} 를 사용하게 되면 처음 쿼리는 아래와 같다. SELECT * FR..
2022.12.14 -
Statement 자바에서 정적 쿼리문을 수행할 때 java.sql 패키지에 있는 Statement 인터페이스를 사용하게 된다. Statement 객체에 Connection 되어 있는 곳에 쿼리문을 수행하고 결과를 반환한다. Statement 는 아래와 같은 동작 순서를 가진다. 1. SQL 쿼리문 분석 2. 쿼리문 컴파일 3. 실행 아래는 예시이다. int seq = 3; String sql_str = "SELECT name FROM test_table WHERE seq = " + se String url = "jdbc:mysql://localhost:3306/DB명"; String username = "DB 계정 ID"; String password = "DB 계정 PW"; Connection con..
[sql] statement 와 preparedStatementStatement 자바에서 정적 쿼리문을 수행할 때 java.sql 패키지에 있는 Statement 인터페이스를 사용하게 된다. Statement 객체에 Connection 되어 있는 곳에 쿼리문을 수행하고 결과를 반환한다. Statement 는 아래와 같은 동작 순서를 가진다. 1. SQL 쿼리문 분석 2. 쿼리문 컴파일 3. 실행 아래는 예시이다. int seq = 3; String sql_str = "SELECT name FROM test_table WHERE seq = " + se String url = "jdbc:mysql://localhost:3306/DB명"; String username = "DB 계정 ID"; String password = "DB 계정 PW"; Connection con..
2022.12.14 -
Java 개발자라면 한번쯤은 봤을 Static 키워드이다. Static 키워드로 선언된 필드, 메소드, 클래스는 프로그램이 실행될 때 생성 및 초기화가 된다. 즉, 프로그램이 시작될 때 메모리에 올라간다. 메모리에 올라가 같은 주소만을 바라보기 때문에 공유할 수 있어 공유해야 하는 필드에 보통 사용한다. Static 키워드는 필드, 메소드, 클래스에 적용할 수 있다. static 필드 public class Obo { public String name = "obo"; } public class Ok { public static final int number = 123; public static String name = "ok"; } public class Test { System.out.println("..
Static 키워드Java 개발자라면 한번쯤은 봤을 Static 키워드이다. Static 키워드로 선언된 필드, 메소드, 클래스는 프로그램이 실행될 때 생성 및 초기화가 된다. 즉, 프로그램이 시작될 때 메모리에 올라간다. 메모리에 올라가 같은 주소만을 바라보기 때문에 공유할 수 있어 공유해야 하는 필드에 보통 사용한다. Static 키워드는 필드, 메소드, 클래스에 적용할 수 있다. static 필드 public class Obo { public String name = "obo"; } public class Ok { public static final int number = 123; public static String name = "ok"; } public class Test { System.out.println("..
2022.12.14 -
Spring Security 에서 권한에 따른 접근 불가한 url 에 대한 handler 설정이다. 본인은 권한 없는 사람의 접근에 따라 특정 화면으로 고정시킬 목적으로 handler 설정을 한다. 1. AccessDeniedHandler 발생 시 보여줄 View 화면 설정 본인은 아래와 같은 경로에 accessDenied.html 파일을 생성했다. 2. AccessDeniedHandler 설정 아래와 같이 security/handler/ 경로에 AuthenticationAccessDeniedHandler 클래스를 생성한다. import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServ..
[Spring Security] AccessDeniedHandler 설정Spring Security 에서 권한에 따른 접근 불가한 url 에 대한 handler 설정이다. 본인은 권한 없는 사람의 접근에 따라 특정 화면으로 고정시킬 목적으로 handler 설정을 한다. 1. AccessDeniedHandler 발생 시 보여줄 View 화면 설정 본인은 아래와 같은 경로에 accessDenied.html 파일을 생성했다. 2. AccessDeniedHandler 설정 아래와 같이 security/handler/ 경로에 AuthenticationAccessDeniedHandler 클래스를 생성한다. import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServ..
2022.12.02 -
Spring Security 에서 로그아웃을 하기 위해선 2가지 방법이 있다. 다른방법이 있을지 모르겠지만본인이 사용했던 방법은 2가지다..logoutUrl("URL") 과 .logoutRequestMatcher() 방법이다. 처음 설정할땐 .logoutUrl 을 사용했었으나 csrf() 설정 여부에 따라 GET 방식, POST 방식 요청이 달라져logoutRequestMatcher() 로 설정했다. 기본적으로 logoutUrl 은 "/logout" 으로 설정되어 있다.아무 설정도 안했을 땐 /logout 으로 요청 시 로그아웃이 된다.여기서 달라지는건 CSRF 활성화 여부이다. 아래는 Spring Security 의 logoutUrl 메서드이다. 먼저 주석내용을 구글번역기에 돌려보면 아래와 같다...
[Spring Security] logout 설정 2가지Spring Security 에서 로그아웃을 하기 위해선 2가지 방법이 있다. 다른방법이 있을지 모르겠지만본인이 사용했던 방법은 2가지다..logoutUrl("URL") 과 .logoutRequestMatcher() 방법이다. 처음 설정할땐 .logoutUrl 을 사용했었으나 csrf() 설정 여부에 따라 GET 방식, POST 방식 요청이 달라져logoutRequestMatcher() 로 설정했다. 기본적으로 logoutUrl 은 "/logout" 으로 설정되어 있다.아무 설정도 안했을 땐 /logout 으로 요청 시 로그아웃이 된다.여기서 달라지는건 CSRF 활성화 여부이다. 아래는 Spring Security 의 logoutUrl 메서드이다. 먼저 주석내용을 구글번역기에 돌려보면 아래와 같다...
2022.11.29