일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 싱글톤
- DB
- javascript
- Kotlin
- HTTP
- cache
- js
- thymeleaf
- 의존성 주입
- Repository
- Vue.js
- 프로토타입
- Stateless
- Excel
- dependency injection
- Setter
- 캐시
- Singleton
- HTTP 메서드
- JPA
- 로그인
- Java
- vuex
- VUE
- BEAN
- 라이프 사이클
- Spring
- Security
- di
- vue-cli
- Today
- Total
목록전체 글 (130)
jhhan의 블로그
원래 이번편까지 (1)에 할려고 했는데 길어질 것 같아서 이렇게 나눠서 진행합니다. 저번 편을 보셨다면 프로젝트 생성은 완료되셨을 것입니다. 이제 직접적으로 로그인을 해보겠습니다. 우선 프로젝트 파일 중에서 pom.xml을 찾아서 다음과 같이 추가합니다. dependency를 추가하는 부분인데 없는 것만 추가하시면 됩니다. 그런 다음 src/main/java/com.example.설정한이름 파일 밑에 SecurityConfig라는 클래스를 하나 생성합니다. (SecurityConfig말고 다른 이름을 하셔도 됩니다.) 그리고 다음과 같이 SecurityConfig클래스를 작성합니다. antMatchers("/adminOnly").hasAuthority("ROLE_ADMIN") : /adminOnly라는 ..
이번에는 Spirng Security를 응용해서 로그인 하는 페이지를 만들어 볼 것입니다. 2편도 조만간 올릴 생각입니다. 참고 http://yoonbumtae.com/?p=764 이번 포스트에는 로그인만 진행하는 간단한 예제를 볼 것입니다. IntelliJ IDEA Ultimate를 기준으로 진행할 것입니다. 일단 프로젝트를 먼저 만들겠습니다. New project를 하면 이 화면이 뜨고 Spring Initializer를 선택해서 진행합니다. Default에 맞추고 다음으로 진행합니다.(Custom으로 할 줄 아시는 분은 Custom하셔도 됩니다.) Artifact에 본인이 원하시는 이름으로 진행합니다. 저는 Maven으로 진행합니다. Gradle로 진행하셔도 됩니다. 오른쪽에 보이시는 4가지를 추가..
ErrorPage Spring에서 HTTP 403, 404같은 오류가 나타날 경우 error를 표시하는 페이지로 넘어갈 수 있습니다. (간단하게 Error를 대신해서 표현해주는 페이지입니다.) ErrorController를 Implements하여 진행합니다. (Implements를 사용한 것으로 보아 ErrorController는 인터페이스로 보입니다.) 에러페이지를 나타낼 수 있는 간단한 예제코드를 아래에 보여드리겠습니다. 저는 MyErrorController로 진행을 했습니다. 다른 이름으로 설정하셔도 관계없습니다. ErrorController를 Implements하여 진행되는 것을 알 수 있습니다. @Slf4j라는 애너테이션을 사용했는데, 이 애너테이션은 lombok이 있어야 사용이 가능합니다. 초..
CSRF(XSRF)에 대해 알아보겠습니다. Cross-Site Request Forgery ; 사이트 간 요청 위조 특징 웹사이트 취약점 공격의 하나로 사용자(희생자)가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격입니다. 희생자의 권한으로 희생자가 모르게 공격자의 의도대로 요청을 수행하도록 합니다. 희생자의 권한에 따라 위험성이 달라집니다. http통신의 stateless특성을 이용한 것으로, 쿠키정보만 이용해서 사용자의 의도하지 않은 공격이 가능합니다. 예전 옥션에서 발생한 개인정보유출사건에 사용된 공격방식이기도 합니다. ex)어떤 웹사이트에 로그인한 상태 "https://xxxx.com/logout" 같은 url을 클릭 시 실제 사용자는..
Spring에 대해 배우다 보니 Security도 다뤄야 할 부분이 생겨서 Security도 어느정도 정리하려고 합니다. ** Security부분이어서 보안관련 탭으로 이동했습니다... 이번 글은 아래의 블로그를 참조했습니다. https://coding-start.tistory.com/153 Spring boot - Spring Security(스프링 시큐리티) 란? 완전 해결! 오늘 포스팅할 내용은 Spring Security이다. 사실 필자는 머리가 나빠서 그런지 모르겠지만, 아무리 구글링을 통해 스프링 시큐리티를 검색해도 이렇다할 명쾌한 해답을 얻지 못했다. 대부분 이론적인 설명들은.. coding-start.tistory.com Security Spring 기반의 애플리케이션의 보안을 담당하는 S..
일단은 JPA의 기본에 대해 쓸려고 합니다. 자세한 부분을 알고 싶다면 다른 글을 찾아보시는 걸 추천합니다. JPA(Java Persistent API) Java의 영속성 관리와 ORM을 위한 표준 기술입니다. 기존 EJB ORM이던 Entity Bean을 JPA로 바꾼 것입니다. ORM 표준 기술로 Hibernate, OpenJPA, EclipseLink, TopLink, Essentials 같은 구현체가 있고, 이에 표준 인터페이스가 JPA입니다. ORM(Object Relational Mapping) RDB 테이블을 객체지향적으로 사용하기 위한 기술입니다. ORM을 사용해서 RDB와 오브젝트 사이에 존재하는 개념과 접근을 객체지향적으로 다루기 위한 기술입니다. JPA의 장점&단점 장점 데이터 관리가..
Spring ThymeLeaf에 대해 알아보는 2번째 시간입니다. 전에 했던 타임리프 보다는 조금 더 어려운 개념들입니다.(제 개인적인 의견) 전처리 형식 : __${값}__ 일반적인 표현식이 수행되기 전에 먼저 다른 표현식을 실행되게 합니다. 코드와 예시입니다. 값에 따라 expression이 변하는 것을 알 수 있습니다. 하지만 저는 index.html에서 name과 email부분에서 오류가 계속 떠서 할 수 없이 그부분을 없애고 결과화면을 보여드렸습니다. 실제로는 아마 잘 되는 것으로 알고 있습니다. 인라인(Inline) HTML파일에 직접 표현식을 쓰는게 나을 때 사용합니다. th:inline="text"라고 작성된 태그 내부에서만 처리가 가능합니다.(text 외에 javascript, none ..
Spring ThymeLeaf 템플릿 엔진 중에 하나입니다. html, xml, javascript, css, text, RAW를 처리할 수 있습니다. .html 확장자로 끝나서 다른 자바 프레임 워크에 갖다 붙이기가 상당히 용이한 편입니다. Spring에서는 JSP보다 ThymeLeaf를 사용할 것을 권장합니다. 먼저 Spring에 ThymeLeaf를 적용하는 방법에 대해 알아보겠습니다. IntelliJ Idea를 기준으로 설명 드리겠습니다. 프로젝트 생성 시 프로젝트 생성 시 타임리프를 추가할 수 있습니다. 프로젝트 생성 후 application.properties에서 # Web spring.thymeleaf.mode=HTML 를 추가한 후 pon.xml에서 태그 안에 org.springframewo..