3장. Red Hat Single Sign-On with Spring Boot 사용


Red Hat Single Sign-On 클라이언트 어댑터는 Red Hat Single Sign-On을 사용하여 애플리케이션 및 서비스를 매우 쉽게 보호할 수 있는 라이브러리입니다. Keycloak Spring Boot 어댑터를 사용하여 Spring Boot 프로젝트를 보호할 수 있습니다.

3.1. Spring Boot Container와 함께 Red Hat Single Sign-On 사용

Spring Boot 애플리케이션을 보호하려면 Keycloak Spring Boot 어댑터 JAR을 프로젝트에 추가합니다. Keycloak Spring Boot 어댑터는 Spring Boot의 자동 구성 기능을 사용하므로 Keycloak Spring Boot 시작기를 프로젝트에 추가하는 것입니다.

절차

  1. Keycloak Spring Boot Starter를 수동으로 추가하려면 프로젝트의 pom.xml 에 다음을 추가합니다.

    <dependency>
            <groupId>org.keycloak</groupId>
            <artifactId>keycloak-spring-boot-starter</artifactId>
    </dependency>
  2. 어댑터 BOM 종속성을 추가합니다.

    <dependencyManagement>
      <dependencies>
            <dependency>
              <groupId>org.keycloak.bom</groupId>
              <artifactId>keycloak-adapter-bom</artifactId>
              <version>3.4.17.Final-redhat-00001</version>
              <type>pom</type>
              <scope>import</scope>
            </dependency>
      </dependencies>
    </dependencyManagement>
  3. Keycloak을 사용하도록 Spring Boot 프로젝트를 구성합니다. keycloak.json 파일 대신 일반 Spring Boot 구성을 사용하여 Spring Boot Keycloak 어댑터의 영역을 구성할 수 있습니다. 예를 들어 src/main/resources/application.properties 파일에 다음 구성을 추가합니다.

    keycloak.realm = demorealm
    keycloak.auth-server-url = http://127.0.0.1:8080/auth
    keycloak.ssl-required = external
    keycloak.resource = demoapp
    keycloak.credentials.secret = 11111111-1111-1111-1111-111111111111
    keycloak.use-resource-role-mappings = true

    keycloak.enabled = false 를 설정하여 Keycloak Spring Boot Adapter (예: 테스트에서)를 비활성화할 수 있습니다. policy Enforcer를 구성하려면 keycloak.json 과 달리policy-enforcer-configpolicy-enforcer 대신 사용해야 합니다.

  4. web.xml 에서 Java EE 보안 구성을 지정합니다. Spring Boot Adapter는 로그인 방법을 KEYCLOAK로 설정하고 시작 시 security-constraints 를 구성합니다. 구성 예는 다음과 같습니다.

    keycloak.securityConstraints[0].authRoles[0] = admin
    keycloak.securityConstraints[0].authRoles[1] = user
    keycloak.securityConstraints[0].securityCollections[0].name = insecure stuff
    keycloak.securityConstraints[0].securityCollections[0].patterns[0] = /insecure
    
    
    keycloak.securityConstraints[1].authRoles[0] = admin
    keycloak.securityConstraints[1].securityCollections[0].name = admin stuff
    keycloak.securityConstraints[1].securityCollections[0].patterns[0] = /admin

    참고: Spring Application을 WAR로 배포하려는 경우 Spring Boot Adapter를 사용하지 마십시오. 사용 중인 애플리케이션 서버 또는 서블릿 컨테이너에 전용 어댑터를 사용합니다. Spring Boot에는 web.xml 파일도 포함되어야 합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.