2장. Single Sign-On을 사용하여 JBoss EAP에 배포된 애플리케이션 보안
SSO(Single Sign-On)로 애플리케이션을 보호하여 Red Hat build of Keycloak과 같은 SSO 공급자에게 인증을 위임할 수 있습니다. OpenID Connect(OIDC) 또는 SAML v2(Security Assertion Markup Language v2)를 SSO 프로토콜로 사용할 수 있습니다.
SSO를 사용하여 애플리케이션을 보호하려면 다음 절차를 따르십시오.
- Single Sign-On으로 보호할 예제 애플리케이션을 생성합니다. 이 절차를 사용하여 SSO로 보안을 위한 간단한 웹 애플리케이션을 생성합니다. SSO로 보호할 애플리케이션이 이미 있는 경우 이 단계를 건너뜁니다.
- Red Hat build of Keycloak에서 영역 및 사용자 생성
OIDC 또는 SAML을 프로토콜로 사용하여 SSO로 애플리케이션을 보호합니다.
2.1. Single Sign-On으로 보안을 위해 예제 애플리케이션 생성 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP에 배포할 웹 애플리케이션을 생성하고 OpenID Connect(OIDC) 또는 SAML(Security Assertion Mark-up Language)을 사용하여 SSO(Single Sign-On)로 보호합니다.
다음 절차는 예제로만 제공됩니다. 보안하려는 애플리케이션이 이미 있는 경우 이를 건너뛰고 Red Hat build of Keycloak에서 영역 및 사용자 생성 으로 직접 이동할 수 있습니다.
2.1.1. 웹 애플리케이션 개발을 위한 Maven 프로젝트 생성 링크 복사링크가 클립보드에 복사되었습니다!
웹 애플리케이션을 생성하려면 필수 종속성 및 디렉터리 구조가 포함된 Maven 프로젝트를 생성합니다.
다음 절차는 예제로만 제공되며 프로덕션 환경에서 사용해서는 안 됩니다. JBoss EAP용 애플리케이션 생성에 대한 자세한 내용은 JBoss EAP 배포를 위한 애플리케이션 개발 시작하기 를 참조하십시오.
사전 요구 사항
- Maven이 설치되어 있어야 합니다. 자세한 내용은 Apache Maven 다운로드를 참조하십시오.
프로세스
mvn명령을 사용하여 Maven 프로젝트를 설정합니다. 명령은 프로젝트에 대한 디렉터리 구조와pom.xml구성 파일을 생성합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션 루트 디렉터리로 이동합니다.
구문
cd <name-of-your-application>
$ cd <name-of-your-application>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
cd simple-webapp-example
$ cd simple-webapp-exampleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 생성된
pom.xml파일의 내용을 다음 텍스트로 바꿉니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
애플리케이션 루트 디렉터리에 다음 명령을 입력합니다.
mvn install
$ mvn installCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 유사한 출력이 표시됩니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.2. 웹 애플리케이션 생성 링크 복사링크가 클립보드에 복사되었습니다!
로그인한 사용자의 주체에서 얻은 사용자 이름을 반환하는 서블릿이 포함된 웹 애플리케이션을 생성합니다. 로그인한 사용자가 없는 경우 서블릿은 "NO AUTHENTICATED USER" 텍스트를 반환합니다.
이 절차에서 < ;application_home >은 애플리케이션의 pom.xml 구성 파일이 포함된 디렉터리를 나타냅니다.
사전 요구 사항
Maven 프로젝트를 생성했습니다.
자세한 내용은 웹 애플리케이션 개발을 위한 Maven 프로젝트 생성 을 참조하십시오.
- JBoss EAP가 실행 중입니다.
프로세스
Java 파일을 저장할 디렉터리를 만듭니다.
구문
mkdir -p src/main/java/<path_based_on_artifactID>
$ mkdir -p src/main/java/<path_based_on_artifactID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
mkdir -p src/main/java/com/example/app
$ mkdir -p src/main/java/com/example/appCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 디렉터리로 이동합니다.
구문
cd src/main/java/<path_based_on_artifactID>
$ cd src/main/java/<path_based_on_artifactID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
cd src/main/java/com/example/app
$ cd src/main/java/com/example/appCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 콘텐츠를 사용하여
SecuredServlet.java파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션 루트 디렉터리에서 다음 명령을 사용하여 애플리케이션을 컴파일합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션을 배포합니다.
mvn wildfly:deploy
$ mvn wildfly:deployCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
브라우저에서
http://localhost:8080/simple-webapp-example/secured로 이동합니다.다음 메시지가 표시됩니다.
Secured Servlet Current Principal 'NO AUTHENTICATED USER'
Secured Servlet Current Principal 'NO AUTHENTICATED USER'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증 메커니즘이 추가되지 않으므로 애플리케이션에 액세스할 수 있습니다.