프로젝트에 새로오신분께 git 사용권한을 드리고 사용법에 대해 가이드를 하는데 이클립스에서 로그인이 안되는 현상이 있었다. 도대체가 이 화면에서 Next가 안된다. 무한으로 Authentication 을 하라고 나온다. 별다른 오류 메세지도 안나온다.그래서 이클립스 로그를 보니 다음과 같았다. org.eclipse.jgit.api.errors.TransportException: http://gitlab.xxx.git: not authorized at org.eclipse.jgit.api.LsRemoteCommand.execute(LsRemoteCommand.java:222) at org.eclipse.jgit.api.LsRemoteCommand.call(LsRemoteCommand.java:161) at..
지난 시간에는 KeyCloak을 어떻게 설치를 하는지 알아보았다. 이제는 이 설치된 KeyCloak을 어떻게 사용하는지 기존에 사용하고 있던 Springboot로 구현된 Application과 연동을 통해 알아보도록 하겠다. KeyCloak 설정 - Realm 생성 일단 설치된 KeyCloak의 Admin Console로 들어가보자. 좌측 맨 위의 Master라는 부분에 마우스를 가져다대면 Add realm 이라는것이 나타날 것이다. realm은 인증, 인가의 범위라고 보면 된다. 예를 들자면 A Portal에서 우리가 카페에서 로그인을 해도 메일도 같은 realm 안에 있기 때문에 별도의 로그인 없이 SSO를 통해 이용을 할 수 있는것이다. 이처럼 같은 realm안에서 한번 로그인을 하면 그 realm..
Server returned HTTP response code: 503 for URL: http://mybatis.org/dtd/mybatis-3-config.dtd 잘 되던 어플리케이션이 갑자기 위와 같은 오류를 내며 deploy가 되지 않는 문제가 있었다. 이 오류구문에 앞에는 mybatis-config.xml 파일이 IO Exception이 발생했다고 한다. 이 문제는 겪어본 바로는 크게 두가지 경우로 원인을 좁힐 수 있었다. 1. 코드에 문제가 있는 경우 코드상에 문제가 있는 경우 WAS에서 디플로이 되는 과정에서 위와 같은 ERROR를 뱉어낼 수 있다. 문제가 있다고 함은 - 중복되는 파일이 있는경우 (배포되는 과정에서 A라는 폴더에 C라는 파일이 존재하고 있는데 변경 된 파일 경로(B라는 폴더..
Spring Batch에서 실행할때 넘겨주는 Parameter 값을 받아서 동적으로 처리를 하고 싶은 경우가 있다. Springboot Batch에서는 이렇게 Program Arguments를 이용해 jobParameters를 전달한다. 바로 이 값을 어떻게 Batch 코드에서 받을수 있을까에 대한 이야기를 해보려 한다. jobParameters도 기본적으로 값을 받을때 @Value("#{jobParameters[testKey]}") 이런 형식으로 값을 받아야한다. 그냥 코드에 딸랑 저것만 넣으면 안된다. 이걸 사용할 수 있게 해주는것이 바로 @StepScope, @JobScope이다. 이것의 뜻은 Step 실행시점에 bean이 생성이 되는것, 혹은 Job 실행시점에 bean이 생성이 되는것이다. 지난번..
KeyCloak을 설치하면 같이 WildFly Admin Console도 사용할 수 있다. WildFly Admin Console은 KeyCloak과 같이 사용되므로 기본적으로 KeyCloak war를 deploy하고 있다. 바로 실행을 해보자. KeyCloak이 설치된곳의 bin디렉토리 하위의 standalone.bat 파일을 실행한다. KeyCloak이 실행되면서 WildFly Admin Console도 같이 실행이 된다. 마지막에 나오는 admin console은 WildFly의 admin console이고 http://127.0.0.1:9990 로 접근이 가능하다고 명시되어 있다. WildFly Admin Colsole Login 및 계정초기화 KeyCloak을 실행했을때 로그로 나온 http:/..
KeyCloak은 기본포트를 8080으로 사용하고 있다. 센스가 없다. 바꿔보도록 하자. 간단하게 바꿀수 있다. 각 운영체제의 실행파일 뒤에 -Djboss.socket.binding.port-offset=100 옵션을 넣어주면 된다. 여기서 100은 포트 offset이다. 즉 기본이 8080이고 offset을 100이라고 입력을 하면 8180으로 설정하겠다는 것이다. linux : ./standalone.sh -Djboss.socket.binding.port-offset=100 windows : standalone.bat -Djboss.socket.binding.port-offset=100 이렇게 실행을 하면 된다. 매번 이렇게 입력하는게 귀찮다면 실행파일 안에서 이 실행옵션을 추가해주면 된다. 예를들면..
KeyCloak은 또 무엇인가? MSA를 준비하면서 정말 많은 신문물을 접하게 된다. 원래 꿈은 수학선생님이나 윤리선생님같이 불변의 진리를 한번 습득하고 그것으로 평생 돈벌면서 살고 싶었는데.. 정반대의 성격인 IT쪽으로 진로를 잡게 되어 아주 다이나믹하게 새로운 기술을 끊임없이 공부하고 있다. 나중에 치매는 안걸릴것 같다. 다시.. KeyCloak은 Red Hat이 만들었고 인증(Authentification)과 인가(Authorization)을 쉽게 해주고 SSO(Single-Sign-On)을 가능하게 해주는 오픈소스(Apache License 2.0)이다. 주요 기능은 다음과 같다. 출처 : en.wikipedia.org/wiki/Keycloak 사용자 등록 소셜 로그인 동일한 Realm에 속한 모..
Springboot로 넘어가면서 yaml 파일이 많이 사용되고 있지만 여전히 properties 파일도 많이 사용된다. yaml 파일일때는 고민없이 사용할수 있는 Value에 대한 입력방식이 properties 파일에서는 고민이 되는 부분이 있다. 바로 제목에 쓴 것처럼 multiline의 value와 list, array인 경우이다. application.properties #multiline test.multiline=aaaaa\n\ bbbbb\n\ ccccc #list or array test.list.fruit=apple,banana,watermelon multi line은 문자열 뒤에 \n\ 을 입력하면 된다. 줄 수만큼 넣어줘야한다. list, array는 , 로 구분지어 넣을 항목들을 쭉 넣..