스프링 시큐리티 spring security 는 스프링 기반의 애플리케이션 보안(인증, 인가, 권한) 을 담당하는 스프링 하위 프레임워크이다. 인증과 인가 인증은 사용자의 신원을 입증하는 과정이다. 예를 들어 사용자가 사이트에 로그인을 할 때 누구인지 혹인하는 과정을 인증이라고 함 인가는 인증과는 다르게 사이트의 특정 부분에 접근할 수 있는지에 권한을 확인하는 작업임 예를 들어 ㅗ간리자는 관리자 페이지에 들어갈 수 있지만 일반 사용자는 관리자 페이지에 들어갈 수 없다. 이런 권한을 확인하는 과정을 인가라고 한다. 인증과 인가 관련 코드를 아무런 도구의 도움 없이 작성하려면 굉장히 많은 시간이 필요하고 스프링시큐리티를 사용하면 아주 쉽게 처리가 가능하다. 스프링 시큐리티 스프링 기반 애플리케이션의 보안을 ..
dev/자바
Optional 이란? optional 이라는 단어는 우리 나라말로 "선택적인"이라는 의미이다. 즉, 객체를 편리하게 처리하기 위해서 만든 클래스라고 보면된다. Optional 클래스는 java.util 패키지에 속해 있다. public final class Optional extends object object 클래스를 확장했고 final 클래스로 선언되어 있으며, generic 한 클래스다. final 변수는 변경불가능 하지만, final 클래스로 선언했다고 해서 내용 변경이 불가능한 것은 아니다. 대신 추가적인 확장이 불가능하다. 즉 자식 클래스를 만들 수 없다는 의미다. 이 곳에 물건을 넣을 수도 있고, 아무 물건이 없을 수 도 있다. 그래서 기본적인 클래스를 만들기 위해서는 new Optiona..
Spring Boot Build 없이 Run 1. boot 서비스 pom.xml 파일에 아래 추가 org.springframework springloaded 1.2.8.RELEASE 2. run Configurations 설정 boot 서비스 우클릭 → Run As → Run Configurations → Spring Boot App → Arguments → VM arguments 에디터 창에서 아래 설정 작성 -javaagent:C:\Users\Administrator\.m2\repository\org\springframework\springloaded\1.2.8.RELEASE\springloaded-1.2.8.RELEASE.jar -noverify 단, 경로는 본인 PC 경로 설정 할것 3. Mvn ..
이클립스 maven만 사용하다가 gradle로 변경해서 작업해 보기로 했다. Gradle 작업 1) cmd 프로젝트 폴더에서 > dir | findstr xml 치면 pom.xml 확인 후 > gradle init 이클립스 작업 이클립스 프로젝트 우클릭 > 새로고침 해보면 gradle 폴더, build.gradle, gradlew, gradlew.bat, settings.gradle 파일 생성된 것을 확인 3) 이클립스 프로젝트 우클릭 > Configure > Convert to Gradle 4) 이클립스 프로젝트 우클릭 > Maven > Disable Maven Nature Maven Dependencies가 사라짐 pom.xml 은 수동으로 삭제해줌 Gradle 오류 변경은 완료되었지만 제대로 동작하..
lombok이란? 어노테이션 기반으로 Getter, Setter, Equlas, ToString 등을 사용할 수 있다. 적용 전 getter, setter public class BoardVO { private String brdId; public String getBrdId() { return brdId; } public void setBrdId(String brdId) { this.brdId = brdId; } } 적용 후 getter, setter @Getter @Setter public class BoardVO { private String brdId; /*public String getBrdId() { return brdId; } public void setBrdId(String brdId) {..
java개발 시 서버 소스를 수정 시 개발환경 was를 재기동해야지 반영되는데 상당한 시간이 소요된다.. jRebel은 유료라이센스 때문에 무료로 사용할 수 있는 DCEVM을 사용해보고자 찾아봤고 적용한 내용을 남겨놓는다. 사용 중인 java 버전과 DCEVM 제공해주는 jar 버전과 맞는 걸 사용해야 한다. DCEVM installer 다운로드 및 실행 github.com/dcevm/dcevm/releases경로에서 위에 DCEVM-8u181-installer-build2.jar 다운로드한다. 1) 자바 환경변수 설정되어있을 시. tip) cmd(관리자 권한 실행)에서 (java 환경변수가 되어있을 경우) java -jar 경로 java -jar C:\Users\SPA\Downloads\DCEVM-8u..
java파일을 변경해도 was 재시작없이 사용가능한 tool 개발시 유용할듯 하다. 다운로드는 아래 사이트에서 받으면 된다. www.jrebel.com/ JRebel & XRebel by Perforce | Build Better Java Applications, Faster JRebel is highly integrable, supporting over 100 of the top Java application servers, frameworks, build tools, and more. www.jrebel.com * 처리된 내용은 모두 입력해서 라이센스키를 받자. 입력 후 START MY TRIAL 을 누르면 EMAIL 로 라이센스키가 도착한다. (분실하면 다른 이메일주소로 다시 받아야 한다고 하니....
* 기본개념 XSS(Cross Site Scripting)는 공격자에 의해 작성된 스크립트가 다른 사용자에게 전달되는 것이다. 다른 사용자의 웹 브라우저 내에서 적절한 검증 없이 실행되기 때문에 사용자의 세션을 탈취하거나, 웹 사이트를 변조하거나 혹은 악의적인 사이트로 사용자를 이동시킬 수 있다. XSS은 일반적으로 [그림 4-39]와 같은 구조를 통해 이루어진다. [네이버 지식백과] XSS 취약점 (정보 보안 개론, 2013. 6. 28., 양대일) * 3가지 형태의크로스 사이트 스크립팅(xss) 1). Reflected XSS ( 반사 XSS ) 반사식 XSS 공격은 검색 결과, 에러 메시지 등 서버가 외부에서 입력 받은 값을 받아 브라우저에게 응답할 때 전송하는 과정에서 입력되는 변수의 위험한 문자..
java7 부터 사용한 자원을 자동으로 해제해 주는 try-with-resources문을 사용할 수 있다. 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 31 32 33 34 35 package tryWithResources; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { StringBuffer sb = new StringB..
한번쓰고 버려질 클래스가 존재 할때.. 굳이 클래스를 만들어서 사용하지 말고.. 익명 클래스로 사용하라.. 1. 일반클래스 사용 2. 익명클래스 사용 3. 익명클래스는 멤버필드와 메소드를 익명클래스 밖에서는 사용할수 없다. 4. 익명클래스 매개변수 전달방법 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 package anonymousTst; public class Sports { void ball() { System.out.println("볼"); } //익명클래스 매개변수 tst public static void ball(Sports s) { s.ball(); } } public class Football extends ..