2.4. 애플리케이션을 빌드, 배포 및 테스트합니다.
이제 app-authz- vaninitiator 리소스 서버(또는 클라이언트)가 올바르게 구성되어 권한 부여 서비스가 활성화되었으므로 서버에 배포할 수 있습니다.
배포하려는 애플리케이션의 프로젝트와 코드는 Red Hat Single Sign-On 빠른 시작 리포지토리에서 사용할 수 있습니다. 계속하려면 다음을 시스템에 설치하고 PATH에서 사용할 수 있습니다.
- Java JDK 8
- Apache Maven 3.1.1 이상
- Git
https://github.com/redhat-developer/redhat-sso-quickstarts 에서 리포지토리를 복제하여 코드를 가져올 수 있습니다. 사용 중인 Red Hat Single Sign-On 버전과 일치하는 분기를 사용합니다.
다음 단계에 따라 코드를 다운로드합니다.
복제 프로젝트
git clone https://github.com/redhat-developer/redhat-sso-quickstarts
$ git clone https://github.com/redhat-developer/redhat-sso-quickstarts
빌드 및 배포하려는 애플리케이션은 다음에 있습니다.
cd redhat-sso-quickstarts/app-authz-jee-vanilla
$ cd redhat-sso-quickstarts/app-authz-jee-vanilla
2.4.1. 어댑터 구성 가져오기
애플리케이션을 빌드하고 배포하기 전에 먼저 어댑터 구성을 가져와야 합니다.
절차
- 관리 콘솔에 로그인합니다.
- 메뉴에서 Clients 를 클릭합니다.
클라이언트 목록에서 app-authz-vanill 클라이언트 애플리케이션을 클릭합니다. 클라이언트 설정 페이지가 열립니다.
클라이언트 설정
- 설치 탭을 클릭합니다.
형식 옵션 항목 목록에서 Keycloak OIDC JSON 을 선택합니다.
어댑터 구성은 JSON 형식으로 표시됩니다.
다운로드를 클릭합니다.
Adapter 구성
-
keycloak.json
파일을app-authz-jee-vaninitiator/config
디렉터리로 이동합니다. 필요한 경우 리디렉션 URL을 지정합니다.
기본적으로 정책 적용자는 사용자에게 리소스 서버의 보호된 리소스에 액세스할 수 있는 권한이 부족하면
403
상태 코드로 응답합니다. 그러나 권한이 없는 사용자의 리디렉션 URL을 지정할 수도 있습니다. 리디렉션 URL을 지정하려면 업데이트한 keycloak.json 파일을 편집하고policy-enforcer
구성을 다음으로 바꿉니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow "policy-enforcer": { "on-deny-redirect-to" : "/app-authz-vanilla/error.jsp" }
"policy-enforcer": { "on-deny-redirect-to" : "/app-authz-vanilla/error.jsp" }
이 변경 사항은 사용자에게 도움이 되지 않는
403 Unauthorized
메시지가 아니라 보호 리소스에 액세스하는 데 필요한 권한이 없는 경우 사용자를/app-authz-van 대개/error.jsp
페이지로 리디렉션하는 정책 적용자에게 지정합니다.
2.4.2. 애플리케이션 빌드 및 배포
애플리케이션을 빌드하고 배포하려면 다음 명령을 실행합니다.
cd redhat-sso-quickstarts/app-authz-jee-vanilla mvn clean package wildfly:deploy
$ cd redhat-sso-quickstarts/app-authz-jee-vanilla
$ mvn clean package wildfly:deploy
2.4.3. 애플리케이션 테스트
애플리케이션이 성공적으로 배포된 경우 http://localhost:8080/app-authz-vanilla 에서 액세스할 수 있습니다. Red Hat Single Sign-On 로그인 페이지가 열립니다.
로그인 페이지
절차
해당 사용자에 대해 지정한 암호를 사용하여 alice 로 로그인합니다. 다음 페이지가 표시됩니다.
hello World Authz 메인 페이지
클라이언트 애플리케이션에 대한 권한 부여 서비스를 활성화할 때 Red Hat Single Sign-On에서 정의한 기본 설정은 이 정책으로 보호되는 리소스에 항상 액세스 권한을 부여하는 간단한 정책을 제공합니다.
기본 권한 및 정책을 변경하고 애플리케이션의 응답 방법을 테스트하거나 Red Hat Single Sign-On에서 제공하는 다양한 정책 유형을 사용하여 새 정책을 만들 수도 있습니다.
이 애플리케이션을 테스트하기 위해 지금 할 수있는 일이 많이 있습니다. 예를 들어 클라이언트의 Authorization
탭을 클릭한 다음 Policies
탭에서 client를 클릭한 다음 목록에서 Default Policy
를 클릭하여 기본 정책을 변경할 수 있습니다. 이제 이 페이지의 드롭다운 목록을 사용하여 Logic
을 Negative
로 변경합니다.
데모 애플리케이션에서 로그아웃한 후 다시 로그인합니다.
더 이상 애플리케이션에 액세스할 수 없습니다.
추가 리소스
2.4.4. 다음 단계
다음과 같은 추가 작업을 수행할 수 있습니다.
- 범위를 생성하고, 정책 및 권한을 정의하며, 애플리케이션 측에서 테스트합니다. 사용자가 작업을 수행할 수 있습니까?
-
다양한 유형의 정책을 생성하고 이러한 정책을
기본 권한
과 연결합니다. -
기본 권한에
여러 정책을 적용하고 해당 동작을 테스트합니다. 예를 들어 여러 정책을 결합하고 그에 따라결정 전략을
변경합니다.
추가 리소스
- 애플리케이션 내부에서 권한을 보고 테스트하는 방법에 대한 자세한 내용은 권한 부여 컨텍스트 가져오기를 참조하십시오.