IT 개발노트
내가 어떠한 서비스를 사용자에게 제공한다고 가정하자. 그렇다면 스스로 애플리케이션 서버를 구축 및 로그인 및 회원가입 서비스를 구현하기위해 사용자로부터 개인정보를 받아 저장하고 관리해야 할 것이다. 하지만 OAuth 2.0을 사용한다면 대부분의 로그인, 개인정보 관리 책임을 서드파티 애플리케이션 (Google, Facebook, Kakao 등)에게 위임할 수 있다. (단, 사용자가 기존에 서드파티 서비스에 회원가입이 되어있어야 함) 더 추상적으로 생각해보면 하나의 A라는 애플리케이션만 가입한다면 다양한 애플리케이션에서 각각 사용자가 권한을 부여 받을 필요 없이 A 애플리케이션으로 부터 부여 받은 권한을 다양한 애플리케이션에서 행사 할 수 있다. 예시로는 내가 만든 애플리케이션에서 사용자가 Kakao 로그..
JWT의 개념 JWT(JSON Web Token)은 토큰 기반 인증에서 사용하는 대표적인 토큰이다. JWT는 총 세 부분으로 이뤄져 있다. 헤더(Header), 페이로드(Payload), 서명(Signature)이 바로 그것이다. 각 부분을 Base64로 인코딩하고 이들을 마침표(.)를 이용하여 차례대로 연결하면 그것이 곧 JWT이다. 다음 그림에서 빨간색 부분이 헤더, 보라색 부분이 페이로드, 하늘색 부분이 서명이다. 1. 헤더 (Header) 헤더는 총 두 가지 정보를 갖는 JSON 값이다. 하나는 토큰의 타입을 지정하는 type, 다른 하나는 서명 계산 및 토큰 검증에 사용할 암호화 알고리즘을 지정하는 alg이다. JWT의 경우에는 type이 무조건 'JWT'이고, alg는 HS256(SHA256)..
1. 세션 기반 인증 세션 기반 인증에서는 로그인한 사용자의 상태 정보를 서버 단의 저장소에 세션의 형태로 저장한다. 그리고 클라이언트가 세션 ID를 쿠키로 서버에 전송하면, 서버는 해당 세션 ID를 이용하여 적절한 세션을 탐색함으로써 해당 사용자가 이미 로그인을 한 상태인지, 그렇다면 요청된 기능을 사용할 권한이 있는지 검증한다. 이것이 곧 인가 과정이다. 1-1. 세션 기반 인증의 장점 세션 기반 인증의 가장 큰 장점은 로그인한 사용자의 상태 정보를 서버 단에 저장하기에 상대적으로 안전하다는 것이다. 보안은 서버가 클라이언트보다 튼튼하기 때문이다. 또한, 로그인한 사용자의 상태 정보를 서버 단에서 유연하게 관리 가능하다. 만약 누군가의 세션 ID가 탈취되었다면, 서버는 해당 세션을 폭파시키기만 하면 ..
http://support.tobesoft.co.kr/ 에서 다운로드 가능 첨부파일 : nexacro17_Education_Materials.zip Downloads -> Developer : nexacro17_SetupStudio.exe 다운로드 프로그램 버전 확인
dowork 디렉토리 안에 myserver.js 만들기 var http = require('http'); var app = http.createServer(function(request,response){ response.writeHead(200); response.end('hello world'); }); app.listen(3000); vi /etc/sysconfig/iptables -> 3000번 열어주기 # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :..
CentOS 에서 yum으로 nodejs를 설치하게 되면 0.10.x 대로 받아지게되므로 아래와 같은 방법으로 설치해야 한다. $ yum install -y gcc-c++ make #의존성 패키지 설치 $ curl -sL https://rpm.nodesource.com/setup_8.x | sudo -E bash - # nodejs 최신버전 저장소 설치 $ yum install nodejs # nodejs 설치 node --version으로 버전확인
spring-servlet.xml 에 CommonMultipartResolver 설정을 해준다. pom.xml 에 common-fileupload, common-io 라이브러리 dependency를 추가 commons-fileupload commons-fileupload 1.2.1 commons-io commons-io 1.4 업로드 폼 구성 (views/fileupload/form.jsp) 파일 업로드 예제 email: 파일1: 파일2: (c)opyright 2014
부모 패키지는 Packaging이 pom이어야 한다. 부모 패키지의 src디렉토리는 필요없으므로 삭제한다. 부모 pom.xml에는 자식 패키지들의 공통 pom.xml 설정만 넣어준다. 자식 패키지들에서는 부모 pom.xml에서 설정한 내용은 빼준다. ( war plugin은 자식 pom.xml에 개별적으로 있어야 한다. Module Name은 자식 프로젝트 이름 부모 pom.xml에 없는 내용을 자식 패키지에 pom.xml에 넣어준다. ( 개별적으로 사용하는 내용 ) 패키지 이동하면 끝~