Sdílet prostřednictvím


Úvodní sada Spring Boot pro příručku pro vývojáře Microsoft Entra

Tento článek se vztahuje na:✅ verze 4.19.0 ✅ verze 5.19.0

Tento článek popisuje funkce a základní scénáře Spring Boot Starteru pro Microsoft Entra ID. Článek obsahuje také pokyny k běžným problémům, alternativním řešením a diagnostickým krokům.

Při vytváření webové aplikace jsou základní části správy identit a přístupu. Azure nabízí cloudovou službu identit, která má hlubokou integraci se zbytkem ekosystému Azure.

Spring Security sice usnadňuje zabezpečení aplikací založených na springu, ale není přizpůsoben konkrétnímu zprostředkovateli identity. Startovací sada Spring Boot pro Microsoft Entra ID vám umožňuje připojit webovou aplikaci k tenantovi Microsoft Entra a chránit váš server prostředků pomocí Microsoft Entra ID. Pro ochranu webových aplikací a serverů prostředků používá protokol OAuth 2.0.

Následující odkazy poskytují přístup k úvodnímu balíčku, dokumentaci a ukázce:

Požadavky

Pokud chcete postupovat podle pokynů v této příručce, musíte mít následující požadavky:

Důležitý

K dokončení kroků v tomto článku se vyžaduje Spring Boot verze 2.5 nebo vyšší.

Základní scénáře

Tento průvodce popisuje, jak používat úvodní sadu Microsoft Entra v následujících scénářích:

Webová aplikace je libovolná webová aplikace, která umožňuje přihlášení uživatele. Server prostředků přijme nebo odepře přístup po ověření přístupového tokenu.

Přístup k webové aplikaci

Tento scénář používá Autorizační kód OAuth 2.0 uděluje toku, aby se uživatel mohl přihlásit pomocí účtu Microsoft.

Pokud chcete v tomto scénáři použít úvodní sadu Microsoft Entra, postupujte následovně:

Nastavte identifikátor URI přesměrování na <application-base-uri>/login/oauth2/code/. Příklad: http://localhost:8080/login/oauth2/code/. Nezapomeňte uvést koncový znak /. Další informace o identifikátoru URI přesměrování najdete v tématu Přidání identifikátoru URI přesměrování v rychlém startu : Registrace aplikace vMicrosoft Identity Platform .

Snímek obrazovky webu Azure Portal zobrazující stránku ověřování webové aplikace se zvýrazněným identifikátorem URI přesměrování

Do souboru pom.xml přidejte následující závislosti.

<dependency>
   <groupId>com.azure.spring</groupId>
   <artifactId>spring-cloud-azure-starter-active-directory</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>

Poznámka

Další informace o tom, jak spravovat verze knihovny Spring Cloud Azure pomocí BOM (bill of materials), naleznete v části Začínáme příručky pro vývojáře Spring Cloud Azure.

Do souboru application.yml přidejte následující vlastnosti. Hodnoty těchto vlastností můžete získat z registrace aplikace, kterou jste vytvořili na webu Azure Portal, jak je popsáno v požadavcích.

spring:
 cloud:
   azure:
     active-directory:
       enabled: true
       profile:
         tenant-id: <tenant>
       credential:
         client-id: <your-client-ID>
         client-secret: <your-client-secret>

Poznámka

Hodnoty povolené pro tenant-id jsou: common, organizations, consumersnebo ID tenanta. Další informace o těchto hodnotách najdete v části Použití nesprávného koncového bodu (osobní a organizační účty) v části Chyba AADSTS50020 – Uživatelský účet poskytovatele identity neexistuje v tenantovi. Informace o převodu aplikace s jedním nájemcem na vícenájemcovou najdete v kapitole Převod jednoklientských aplikací na vícenájemcovou vMicrosoft Entra ID.

Použijte výchozí konfiguraci zabezpečení nebo zadejte vlastní konfiguraci.

Možnost 1: Použijte výchozí konfiguraci.

S touto možností nemusíte nic dělat. Třída DefaultAadWebSecurityConfiguration je nakonfigurována automaticky.

Možnost 2: Zadejte vlastní konfiguraci.

Pokud chcete poskytnout konfiguraci, použijte pro HttpSecuritymetodu AadWebApplicationHttpSecurityConfigurer#aadWebApplication, jak je znázorněno v následujícím příkladu:

@Configuration(proxyBeanMethods = false)
@EnableWebSecurity
@EnableMethodSecurity
public class AadOAuth2LoginSecurityConfig {

   /**
    * Add configuration logic as needed.
    */
   @Bean
   SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
       http.apply(AadWebApplicationHttpSecurityConfigurer.aadWebApplication())
               .and()
           .authorizeHttpRequests()
               .anyRequest().authenticated();
           // Do some custom configuration.
       return http.build();
   }
}

Přístup k serverům prostředků z webové aplikace

Pokud chcete v tomto scénáři použít úvodní sadu Microsoft Entra, postupujte následovně:

Nastavte identifikátor URI přesměrování, jak bylo popsáno výše.

Do souboru pom.xml přidejte následující závislosti.

<dependency>
   <groupId>com.azure.spring</groupId>
   <artifactId>spring-cloud-azure-starter-active-directory</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>

Poznámka

Další informace o správě verzí knihovny Azure Spring Cloud pomocí kusovníku najdete v části Začínáme příručky pro vývojáře Spring Cloud Azure.

Do souboru application.yml přidejte následující vlastnosti, jak je popsáno výše:

spring:
 cloud:
   azure:
     active-directory:
       enabled: true
       profile:
         tenant-id: <tenant>
       credential:
         client-id: <your-client-ID>
         client-secret: <your-client-secret>
       authorization-clients:
         graph:
           scopes: https://graph.microsoft.com/Analytics.Read, email

Poznámka

Hodnoty povolené pro tenant-id jsou: common, organizations, consumersnebo ID tenanta. Další informace o těchto hodnotách naleznete v části Nesprávně použitý koncový bod (osobní a organizační účty) v dokumentu k Chyba AADSTS50020 – Uživatelský účet od poskytovatele identity neexistuje v tenantovi. Informace o převodu aplikace s jedním tenantem na více tenantů najdete v tématu na Microsoft Entra ID.

Tady graph je název vašeho OAuth2AuthorizedClienta scopes jsou obory potřebné k vyjádření souhlasu při přihlášení.

Přidejte do aplikace kód podobný následujícímu příkladu:

@GetMapping("/graph")
@ResponseBody
public String graph(
   @RegisteredOAuth2AuthorizedClient("graph") OAuth2AuthorizedClient graphClient
) {
   // toJsonString() is just a demo.
   // oAuth2AuthorizedClient contains access_token. We can use this access_token to access the resource server.
   return toJsonString(graphClient);
}

Tady graph je ID klienta nakonfigurované v předchozím kroku. OAuth2AuthorizedClient obsahuje přístupový token, který se používá pro přístup k zdrojovému serveru.

Kompletní ukázku demonstrující tento scénář najdete v příkladě spring-cloud-azure-starter-active-directory: aad-web-application.

Ochrana serveru prostředků nebo rozhraní API

Tento scénář nepodporuje přihlášení, ale chrání server ověřením přístupového tokenu. Pokud je přístupový token platný, server žádost obsluhuje.

Pokud chcete v tomto scénáři použít úvodní sadu Microsoft Entra, postupujte následovně:

Do souboru pom.xml přidejte následující závislosti.

<dependency>
   <groupId>com.azure.spring</groupId>
   <artifactId>spring-cloud-azure-starter-active-directory</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
</dependency>

Poznámka

Další informace o správě verzí knihovny Spring Cloud Azure pomocí BOM (Bill of Materials) najdete v části Začínáme s příručky pro vývojáře Spring Cloud Azure.

Do souboru application.yml přidejte následující vlastnosti, jak je popsáno výše:

spring:
 cloud:
   azure:
     active-directory:
       enabled: true
       credential:
         client-id: <your-client-ID>
       app-id-uri: <your-app-ID-URI>

K ověření přístupového tokenu můžete použít hodnoty <your-client-ID> i <your-app-ID-URI>. Hodnotu <your-app-ID-URI> můžete získat z webu Azure Portal, jak je znázorněno na následujících obrázcích:

Snímek obrazovky Azure portálu zobrazující stránku webové aplikace Zveřejnit rozhraní API se zvýrazněným identifikátorem URI ID aplikace

Použijte výchozí konfiguraci zabezpečení nebo zadejte vlastní konfiguraci.

Možnost 1: Použijte výchozí konfiguraci.

S touto možností nemusíte nic dělat. Třída DefaultAadResourceServerConfiguration je nakonfigurována automaticky.

Možnost 2: Zadejte vlastní konfiguraci.

Pokud chcete poskytnout konfiguraci, použijte pro HttpSecuritymetodu AadResourceServerHttpSecurityConfigurer#aadResourceServer, jak je znázorněno v následujícím příkladu:

@Configuration(proxyBeanMethods = false)
@EnableWebSecurity
@EnableMethodSecurity
public class AadOAuth2ResourceServerSecurityConfig {

   /**
    * Add configuration logic as needed.
    */
   @Bean
   public SecurityFilterChain apiFilterChain(HttpSecurity http) throws Exception {
       http.apply(AadResourceServerHttpSecurityConfigurer.aadResourceServer())
               .and()
           .authorizeHttpRequests()
               .anyRequest().authenticated();
       return http.build();
   }
}

Pro úplnou ukázku, která demonstruje tento scénář, se podívejte na spring-cloud-azure-starter-active-directory sample: aad-resource-server.

Získat přístup k dalším serverům prostředků z jednoho serveru prostředků

Tento scénář podporuje server prostředků, který navštíví jiné servery prostředků.

Pokud chcete v tomto scénáři použít úvodní sadu Microsoft Entra, postupujte následovně:

Do souboru pom.xml přidejte následující závislosti.

<dependency>
   <groupId>com.azure.spring</groupId>
   <artifactId>spring-cloud-azure-starter-active-directory</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>

Poznámka

Další informace o správě verzí knihovny Azure Spring Cloud pomocí kusovníku najdete v části Začínáme příručky pro vývojáře Spring Cloud Azure.

Do souboru application.yml přidejte následující vlastnosti:

spring:
 cloud:
   azure:
     active-directory:
       enabled: true
       profile:
         tenant-id: <tenant>
       credential:
         client-id: <web-API-A-client-ID>
         client-secret: <web-API-A-client-secret>
       app-id-uri: <web-API-A-app-ID-URI>
       authorization-clients:
         graph:
           scopes:
              - https://graph.microsoft.com/User.Read

Poznámka

Hodnoty povolené pro tenant-id jsou: common, organizations, consumersnebo ID tenanta. Další informace o těchto hodnotách najdete v části Použití nesprávného koncového bodu (osobní a organizační účty) části Chyba AADSTS50020 – Uživatelský účet od zprostředkovatele identity vtenanta neexistuje . Informace o převodu aplikace s jedním tenantem najdete v tématu Převod jednoklientských aplikací na víceklienta vMicrosoft Entra ID .

Pro přístup k souvisejícímu serveru prostředků použijte atribut @RegisteredOAuth2AuthorizedClient v kódu, jak je znázorněno v následujícím příkladu:

@PreAuthorize("hasAuthority('SCOPE_Obo.Graph.Read')")
@GetMapping("call-graph")
public String callGraph(@RegisteredOAuth2AuthorizedClient("graph") OAuth2AuthorizedClient graph) {
   return callMicrosoftGraphMeEndpoint(graph);
}

Kompletní ukázku demonstrující tento scénář najdete v ukázce spring-cloud-azure-starter-active-directory: aad-resource-server-obo.

Webová aplikace a server prostředků v jedné aplikaci

Tento scénář podporuje Přístup k webové aplikaci a Ochranu serveru prostředků/API v jedné aplikaci.

Pokud chcete použít aad-starter v tomto scénáři, postupujte takto:

Do souboru pom.xml přidejte následující závislosti.

<dependency>
   <groupId>com.azure.spring</groupId>
   <artifactId>spring-cloud-azure-starter-active-directory</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>

Poznámka

Další informace o správě verzí knihovny Azure Spring Cloud pomocí kusovníku najdete v části Začínáme příručky pro vývojáře Spring Cloud Azure.

Aktualizujte soubor application.yml. Nastavte vlastnost spring.cloud.azure.active-directory.application-type na web_application_and_resource_servera zadejte typ autorizace pro každého autorizačního klienta, jak je znázorněno v následujícím příkladu.

spring:
 cloud:
   azure:
     active-directory:
       enabled: true
       profile:
         tenant-id: <tenant>
       credential:
         client-id: <Web-API-C-client-id>
         client-secret: <Web-API-C-client-secret>
       app-id-uri: <Web-API-C-app-id-url>
       application-type: web_application_and_resource_server  # This is required.
       authorization-clients:
         graph:
           authorizationGrantType: authorization_code  # This is required.
           scopes:
             - https://graph.microsoft.com/User.Read
             - https://graph.microsoft.com/Directory.Read.All

Poznámka

Hodnoty povolené pro tenant-id jsou: common, organizations, consumersnebo ID tenanta. Další informace o těchto hodnotách najdete v části Použití nesprávného koncového bodu (osobní a organizační účty) části Chyba AADSTS50020 – Uživatelský účet od zprostředkovatele identity vtenanta neexistuje . Informace o tom, jak převést jednoklientskou aplikaci na víceklientskou, najdete v sekci Převést jednoklientskou aplikaci na víceklientskou v rámci Microsoft Entra ID.

Napište kód Java pro konfiguraci více instancí HttpSecurity.

V následujícím příkladě kódu se v objektu AadWebApplicationAndResourceServerConfig nacházejí dva řetězce filtru zabezpečení, jeden pro server zdrojů a druhý pro webovou aplikaci. apiFilterChain bean má vysokou prioritu pro konfiguraci zabezpečení serveru prostředků. htmlFilterChain bean má nízkou prioritu pro konfiguraci tvůrce zabezpečení webových aplikací.

@Configuration(proxyBeanMethods = false)
@EnableWebSecurity
@EnableMethodSecurity
public class AadWebApplicationAndResourceServerConfig {

    @Bean
    @Order(1)
    public SecurityFilterChain apiFilterChain(HttpSecurity http) throws Exception {
        http.apply(AadResourceServerHttpSecurityConfigurer.aadResourceServer())
                .and()
            // All the paths that match `/api/**`(configurable) work as the resource server. Other paths work as the web application.
            .securityMatcher("/api/**")
            .authorizeHttpRequests()
                .anyRequest().authenticated();
        return http.build();
    }

    @Bean
    public SecurityFilterChain htmlFilterChain(HttpSecurity http) throws Exception {
        // @formatter:off
        http.apply(AadWebApplicationHttpSecurityConfigurer.aadWebApplication())
                .and()
            .authorizeHttpRequests()
                .requestMatchers("/login").permitAll()
                .anyRequest().authenticated();
        // @formatter:on
        return http.build();
    }
}

Typ aplikace

Vlastnost spring.cloud.azure.active-directory.application-type je volitelná, protože její hodnotu lze odvodit závislostmi. Vlastnost musíte nastavit ručně pouze v případech, kdy použijete hodnotu web_application_and_resource_server.

Má závislost: spring-security-oauth2-client Má závislost: spring-security-oauth2-resource-server Platné hodnoty typu aplikace Výchozí hodnota
Ano Ne web_application web_application
Ne Ano resource_server resource_server
Ano Ano web_application,resource_server,
resource_server_with_obo, web_application_and_resource_server
resource_server_with_obo

Konfigurovatelné vlastnosti

Úvodní sada Spring Boot pro ID Microsoft Entra poskytuje následující vlastnosti:

Vlastnosti Popis
spring.cloud.azure.active-directory.app-id-uri Používá se serverem zdrojů k ověření publika v přístupovém tokenu. Přístupový token je platný pouze v případech, kdy je cílová skupina rovna <your-client-ID> nebo <your-app-ID-URI> hodnotám popsaným výše.
spring.cloud.azure.active-directory.autorizační-klienti Mapa, která určuje rozhraní API prostředků, které aplikace bude navštěvovat. Každá položka odpovídá jednomu rozhraní API prostředků, které aplikace navštíví. V kódu Spring odpovídá každá položka jednomu OAuth2AuthorizedClient objektu.
spring.cloud.azure.active-directory.authorization-clients.<your-client-name>.scopes Oprávnění rozhraní API serveru prostředků, který aplikace získá.
spring.cloud.azure.active-directory.authorization-clients.<your-client-name>.authorization-grant-type Typ autorizačního klienta. Podporované typy jsou authorization_code (výchozí typ webové aplikace), on_behalf_of (výchozí typ pro resource-server), client_credentials.
spring.cloud.azure.active-directory.application-type Viz typ aplikace.
spring.cloud.azure.active-directory.profile.environment.active-directory-endpoint Základní identifikátor URI pro autorizační server. Výchozí hodnota je https://login.microsoftonline.com/.
spring.cloud.azure.active-directory.credential.client-id ID aplikace registrované v Microsoft Entra ID.
spring.cloud.azure.active-directory.credential.client-secret Tajemství registrované aplikace klienta.
spring.cloud.azure.active-directory.user-group.use-transitive-members Pomocí v1.0/me/transitiveMemberOf můžete získat skupiny, pokud jsou nastavené na true. V opačném případě použijte /v1.0/me/memberOf.
spring.cloud.azure.active-directory.post-logout-redirect-uri Přesměrovací URI pro odeslání odhlášení.
spring.cloud.azure.active-directory.profile.tenant-id ID tenanta Azure. Hodnoty povolené pro tenant-id jsou: common, organizations, consumersnebo ID tenanta.
spring.cloud.azure.active-directory.user-group.allowed-group-names Očekávané skupiny uživatelů, kterým bude autorita udělena, pokud se najdou v odpovědi z volání rozhraní Graph API MemberOf.
spring.cloud.azure.active-directory.user-name-attribute Určuje, který nárok bude hlavním jménem.

Následující příklady ukazují, jak používat tyto vlastnosti:

Příklad vlastnosti 1: Pro použití Azure China 21Vianet místo Azure Global použijte následující krok.

  • Do souboru application.yml přidejte následující vlastnosti:

    spring:
       cloud:
         azure:
           active-directory:
             enabled: true
             profile:
               environment:
                 active-directory-endpoint: https://login.partner.microsoftonline.cn
    

Pomocí této metody můžete místo veřejného cloudu Azure použít suverénního nebo národního cloudu Azure.

Příklad vlastnosti 2: Chcete-li použít název skupiny k ochraně některé metody ve webové aplikaci, postupujte následovně:

Do souboru application.yml přidejte následující vlastnost:

spring:
 cloud:
   azure:
     active-directory:
       enabled: true
       user-group:
         allowed-groups: group1, group2

Použijte výchozí konfiguraci zabezpečení nebo zadejte vlastní konfiguraci.

Možnost 1: Použijte výchozí konfiguraci. S touto možností nemusíte nic dělat. Třída DefaultAadWebSecurityConfiguration je nakonfigurována automaticky.

Možnost 2: Zadejte vlastní konfiguraci. Pokud chcete poskytnout konfiguraci, použijte pro HttpSecuritymetodu AadWebApplicationHttpSecurityConfigurer#aadWebApplication, jak je znázorněno v následujícím příkladu:

@Configuration(proxyBeanMethods = false)
@EnableWebSecurity
@EnableMethodSecurity
public class AadOAuth2LoginSecurityConfig {

   /**
    * Add configuration logic as needed.
    */
   @Bean
   public SecurityFilterChain htmlFilterChain(HttpSecurity http) throws Exception {
       // @formatter:off
       http.apply(AadWebApplicationHttpSecurityConfigurer.aadWebApplication())
               .and()
           .authorizeHttpRequests()
               .anyRequest().authenticated();
       // @formatter:on
       // Do some custom configuration.
       return http.build();
   }
}

K ochraně metody použijte @PreAuthorize poznámku, jak je znázorněno v následujícím příkladu:

@Controller
public class RoleController {
   @GetMapping("group1")
   @ResponseBody
   @PreAuthorize("hasRole('ROLE_group1')")
   public String group1() {
       return "group1 message";
   }

   @GetMapping("group2")
   @ResponseBody
   @PreAuthorize("hasRole('ROLE_group2')")
   public String group2() {
       return "group2 message";
   }

   @GetMapping("group1Id")
   @ResponseBody
   @PreAuthorize("hasRole('ROLE_<group1-id>')")
   public String group1Id() {
       return "group1Id message";
   }

   @GetMapping("group2Id")
   @ResponseBody
   @PreAuthorize("hasRole('ROLE_<group2-id>')")
   public String group2Id() {
       return "group2Id message";
   }
}

Příklad vlastnosti 3: Pokud chcete povolit tok přihlašovacích údajů klienta na serveru prostředků, který navštíví servery prostředků, postupujte následovně:

Do souboru application.yml přidejte následující vlastnost:

spring:
 cloud:
   azure:
     active-directory:
       enabled: true
       authorization-clients:
         webapiC:   # When authorization-grant-type is null, on behalf of flow is used by default
           authorization-grant-type: client_credentials
           scopes:
             - <Web-API-C-app-id-url>/.default

Přidejte do aplikace kód podobný následujícímu příkladu:

@PreAuthorize("hasAuthority('SCOPE_Obo.WebApiA.ExampleScope')")
@GetMapping("webapiA/webapiC")
public String callClientCredential() {
   String body = webClient
       .get()
       .uri(CUSTOM_LOCAL_READ_ENDPOINT)
       .attributes(clientRegistrationId("webapiC"))
       .retrieve()
       .bodyToMono(String.class)
       .block();
   LOGGER.info("Response from Client Credential: {}", body);
   return "client Credential response " + (null != body ? "success." : "failed.");
}

Pokročilé funkce

Podpora řízení přístupu podle tokenu ID ve webové aplikaci

Začátek podporuje vytváření GrantedAuthority z deklarace identity tokenu ID roles, aby bylo možné použít token ID pro autorizaci ve webové aplikaci. Pomocí funkce appRoles služby Microsoft Entra ID můžete vytvořit nárok roles a implementovat řízení přístupu.

Poznámka

Tvrzení roles vygenerované z appRoles je označeno předponou APPROLE_.

Při použití appRoles jako roles nároku se vyhněte současnému nastavení atributu skupiny jako roles. Jinak atribut skupiny přepíše nárok na to, aby místo appRolesobsahoval informace o skupině. V manifestu byste se měli vyhnout následující konfiguraci:

"optionalClaims": {
    "idtoken": [{
        "name": "groups",
        "additionalProperties": ["emit_as_roles"]
    }]
}

Pokud chcete ve webové aplikaci podporovat řízení přístupu podle tokenu ID, postupujte následovně:

Přidejte do aplikace role aplikace a přiřaďte je uživatelům nebo skupinám. Další informace najdete v tématu Jak přidat role aplikace do vaší aplikace a přijmout je v tokenu.

Do manifestu aplikace přidejte následující konfiguraci appRoles:

 "appRoles": [
   {
     "allowedMemberTypes": [
       "User"
     ],
     "displayName": "Admin",
     "id": "2fa848d0-8054-4e11-8c73-7af5f1171001",
     "isEnabled": true,
     "description": "Full admin access",
     "value": "Admin"
    }
 ]

Přidejte do aplikace kód podobný následujícímu příkladu:

@GetMapping("Admin")
@ResponseBody
@PreAuthorize("hasAuthority('APPROLE_Admin')")
public String Admin() {
   return "Admin message";
}

Řešení problémů

Povolit protokolování klienta

Sady Azure SDK pro Javu nabízejí konzistentní mechanizmus logování, který pomáhá odstraňovat a řešit chyby aplikací. Vytvořené protokoly zachytí tok aplikace před dosažením terminálu, což pomáhá najít kořenový problém. Na wiki protokolování najdete pokyny pro zapnutí protokolování.

Povolte protokolování Spring

Spring umožňuje všem podporovaným systémům protokolování nastavit úrovně protokolovacího nástroje v prostředí Spring , například v application.properties – pomocí logging.level.<logger-name>=<level>, kde <level> je jedním z TRACE, DEBUG, INFO, WARN, ERROR, FATALnebo OFF. Kořenový protokolovací nástroj můžete nakonfigurovat pomocí logging.level.root.

Následující příklad ukazuje potenciální nastavení logování v souboru application.properties:

logging.level.root=WARN
logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR

Další informace o konfiguraci protokolování ve Springu najdete v tématu Protokolování v dokumentaci spring.

Další kroky

Další informace o Springu a Azure najdete v centru dokumentace Spring on Azure.