본문 바로가기

분류 전체보기

(97)
[Thymeleaf] location.href 작성법 th:onclick="'location.href = \'' + @{/admin/category/new} + '\''" 꽤 복잡하지만 유용하게 쓰일 것 같습니다.
[Spring Security] FilterSecurityInterceptor와 인가처리과정 FilterSecurityInterceptor는 사용자가 권한이 있는 페이지에 접속할 때 접속 가능 여부를 판단하는 Filter이며, Filter중 제일 마지막에 위치하고 있습니다. FilterSecurityInterceptor에서는 요청정보, 권한정보, 인증정보가 필요하며 이것을 획득하면 AccessDecisionManager에게 보내서 이곳에서 인가처리를 하게 됩니다. 이번 글에서는 요청정보, 권한정보, 인증정보를 알아보겠습니다. 요청정보 요청정보는 사용자가 어떤 URL을 입력했는지 알아내는 것 입니다. 이것은 FilterInvocation 을 통해 알아낼 수 있습니다. 만약 제가 www.localhost:8080/login 을 입려했다고 가정한다면 request, response, chain을 Fi..
CSRF란? CSRF란? 사이트 간 요청 위조 (Cross-site Request Forgery) 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격을 말한다. -위키피디아- 공격 시나리오 예시를 들기 위해 티스토리 블로그를 사용한다는 가정을 하겠습니다. 티스토리 게시물 작성 URL은 POST방식의 www.tistory.com/write?title=abcd&content=1234 이라고 임의로 정하겠습니다. 1. 사용자는 티스토리에 접속하여 세션 ID를 발급받은 후 로그인을 성공해 줍니다. 로그인을 성공하게되면 해당 세션 ID를 이용하여 위에서 정한 게시물 작성 URL을 통해 게시글 작성이 가능해질 것입니다. 2. 공격자는 사용자에게 이메일 보..
[Spring Boot] JPA application.yml (properties)기능 jpa: database-platform: org.hibernate.dialect.MySQL8Dialect hibernate: ddl-auto: create properties: hibernate: format_sql: 'true' show_sql: 'true' jpa.database-platform 접속할 데이터베이스의 SQL Dialect를 설정합니다. 더보기 Dialect(방언)란? JPA는 기본적으로 어플리케이션에서 직접 SQL을 작성하지 않고 JPA가 SQL을 작성하고 실행합니다. 그런데 DBMS 종류마다 사용하는 SQL이 다르기 때문에 JPA는 DBMS에 맞춰 SQL을 생성해야 합니다. 그렇기 때문에 JPA에게 어떤 DBMS를 사용하는지 알려주는 것을 방언을 설정하는 방법입니다. jpa.hib..
[Thymeleaf] Fragment나누기 Thymeleaf Fragment JSP의 inlucde기능과 같습니다. 보통 하나의 HTML파일에 header나 footer 등의 중복 코드를 줄이기 위해 사용 됩니다. 실습환경은 Spring Boot + Thymeleaf입니다. 1. 파일 구성 HTML에서 header를 담당할 head.html과 navigation bar를 구성할 top.html, 그리고 홈 화면인 home.html로 구성되어 있습니다. head.html 모든 html파일의 head부분에 들어갈 것이기 때문에 head태그에서 th:fragment="fragment명"으로 설정합니다. header에는 부트스트랩 cdn을 넣어주었습니다. top.html Navbar Home Features asdfsdf Disabled 상단의 navi..
[JAVA] 문자 대소문자 구분 Character.isUpperCase() Character.isLowerCase() true, false로 반환한다. String 문자열을 받아서 문자들이 대문자인지 소문자인지 구별하는 방법 String str = "aBcDeFg"; for( char c : str.toCharArray()) { if ( Character.isUpperCase(c)) { System.out.println("true"); }else { System.out.println(false); } } 실행 결과>
[SpringSecurity] 인증성공, 실패 핸들러 로그인에 성공을 하거나 실패를 했을 때 부가작업을 해보려고 합니다. 1. 인증성공 - 로그인 성공시, Redirect할 URL 설정 예를 들어, 로그인을 하지 않은 경우에 권한이 있는 페이지에 접근을 하려고 하면 로그인 페이지로 넘어가는 경우가 있습니다. 이 과정에서 로그인을 성공 했을 때 Redirect할 URL이 접근 하려고 시도 했던 페이지의 URL이 되어 그 페이지로 바로 넘어가도록 해보겠습니다. @Component public class CustomAuthenticationSuccessHandler extends SimpleUrlAuthenticationSuccessHandler { private RequestCache requestCache = new HttpSessionRequestCache..
인텔리제이 단축키 창 끄기 Ctrl + F4 클래스 파일 찾기 Ctrl + N 안쓰는 import 제거 Ctrl + Alt + o 정렬 Ctrl + Alt + L