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

Tento článek se vztahuje na: ✔️ Verze 4.17.0 ✔️ verze 5.11.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. Úvodní sada Spring Boot pro Microsoft Entra ID umožňuje připojit webovou aplikaci k tenantovi Microsoft Entra a chránit váš server prostředků pomocí Microsoft Entra ID. K ochraně 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á uživateli umožňuje přihlásit se. Po ověření přístupového tokenu server prostředků buď přijme nebo odepře přístup.

Přístup k webové aplikaci

Tento scénář používá tok udělení autorizačního kódu OAuth 2.0, 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/. Například: http://localhost:8080/login/oauth2/code/. Nezapomeňte uvést koncovou /. 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 na platformě Microsoft Identity Platform.

Snímek obrazovky webu Azure Portal zobrazující stránku Microsoft Entra Registrace aplikací se zvýrazněnou ukázkovou webovou aplikací

Snímek obrazovky webu Azure Portal se stránkou 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 správě verzí knihovny Azure Spring Cloud pomocí kusovníku najdete v části Začínáme s příručkou 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:

Povolené hodnoty 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ích účtů a účtů organizace) v části Chyba AADSTS50020 – Uživatelský účet od zprostředkovatele identity v tenantovi neexistuje. Informace o převodu aplikace s jedním tenantem najdete v tématu Převod aplikace s jedním tenantem na víceklienta na ID Microsoft Entra.

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 DefaultAadWebSecurityConfigurerAdapter je nakonfigurována automaticky.

Možnost 2: Zadejte vlastní konfiguraci.

Pokud chcete poskytnout konfiguraci, rozšiřte AadWebSecurityConfigurerAdapter třídu a volání super.configure(http) funkce configure(HttpSecurity http) , jak je znázorněno v následujícím příkladu:

@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class AadOAuth2LoginSecurityConfig extends AadWebSecurityConfigurerAdapter {

   /**
    * Add configuration logic as needed.
   */
   @Override
   protected void configure(HttpSecurity http) throws Exception {
       super.configure(http);
       http.authorizeRequests()
           .anyRequest().authenticated();
       // Do some custom configuration.
   }
}

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 je 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 s příručkou 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:

Povolené hodnoty 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ích účtů a účtů organizace) v části Chyba AADSTS50020 – Uživatelský účet od zprostředkovatele identity v tenantovi neexistuje. Informace o převodu aplikace s jedním tenantem najdete v tématu Převod aplikace s jedním tenantem na víceklienta na ID Microsoft Entra.

graph Tady 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);
}

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

Kompletní ukázku tohoto scénáře najdete v tématu spring-cloud-azure-starter-active-directory sample: 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 Azure Spring Cloud pomocí kusovníku najdete v části Začínáme s příručkou 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 ID-URI> vaší aplikace můžete získat <z webu Azure Portal, jak je znázorněno na následujících obrázcích:

Snímek obrazovky webu Azure Portal zobrazující stránku Microsoft Entra Registrace aplikací se zvýrazněným ukázkovým serverem prostředků

Snímek obrazovky webu Azure Portal zobrazující stránku 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 DefaultAadResourceServerWebSecurityConfigurerAdapter je nakonfigurována automaticky.

Možnost 2: Zadejte vlastní konfiguraci.

Pokud chcete poskytnout konfiguraci, rozšiřte AadResourceServerWebSecurityConfigurerAdapter třídu a volání super.configure(http) funkce configure(HttpSecurity http) , jak je znázorněno v následujícím příkladu:

@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class AadOAuth2ResourceServerSecurityConfig extends AadResourceServerWebSecurityConfigurerAdapter {

   /**
    * Add configuration logic as needed.
    */
   @Override
   protected void configure(HttpSecurity http) throws Exception {
       super.configure(http);
       http.authorizeRequests((requests) -> requests.anyRequest().authenticated());
   }
}

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

Přístup k jiným serverům prostředků ze 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 s příručkou 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:

Povolené hodnoty 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ích účtů a účtů organizace) v části Chyba AADSTS50020 – Uživatelský účet od zprostředkovatele identity v tenantovi neexistuje. Informace o převodu aplikace s jedním tenantem najdete v tématu Převod aplikace s jedním tenantem na víceklienta na ID Microsoft Entra.

@RegisteredOAuth2AuthorizedClient Atribut v kódu použijte pro přístup k souvisejícímu serveru prostředků, 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 části spring-cloud-azure-starter-active-directory sample: aad-resource-server-obo.

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

Tento scénář podporuje accessovou webovou aplikaci a ochranu serveru prostředků nebo rozhraní API v jedné aplikaci.

Chcete-li 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 s příručkou 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_serverhodnotu a 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:

Povolené hodnoty 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ích účtů a účtů organizace) v části Chyba AADSTS50020 – Uživatelský účet od zprostředkovatele identity v tenantovi neexistuje. Informace o převodu aplikace s jedním tenantem najdete v tématu Převod aplikace s jedním tenantem na víceklienta na ID Microsoft Entra.

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

V následujícím příkladu kódu AadWebApplicationAndResourceServerConfig obsahuje dvě konfigurace zabezpečení, jednu pro server prostředků a jednu pro webovou aplikaci. Třída ApiWebSecurityConfigurationAdapter má vysokou prioritu pro konfiguraci adaptéru zabezpečení serveru prostředků. Třída HtmlWebSecurityConfigurerAdapter má nízkou prioritu pro konfiguraci adaptéru zabezpečení webové aplikace.

@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class AadWebApplicationAndResourceServerConfig {

   @Order(1)
   @Configuration
   public static class ApiWebSecurityConfigurationAdapter extends AadResourceServerWebSecurityConfigurerAdapter {
       protected void configure(HttpSecurity http) throws Exception {
           super.configure(http);
           // All the paths that match `/api/**`(configurable) work as the esource server. Other paths work as  the web application.
           http.antMatcher("/api/**")
               .authorizeRequests().anyRequest().authenticated();
       }
   }

   @Configuration
   public static class HtmlWebSecurityConfigurerAdapter extends AadWebSecurityConfigurerAdapter {

       @Override
       protected void configure(HttpSecurity http) throws Exception {
           super.configure(http);
           // @formatter:off
           http.authorizeRequests()
                   .antMatchers("/login").permitAll()
                   .anyRequest().authenticated();
           // @formatter:on
       }
   }
}

Typ aplikace

Vlastnost spring.cloud.azure.active-directory.application-type je nepovinná, protože její hodnota může být odvozena závislostmi. Vlastnost musíte nastavit ručně pouze při použití web_application_and_resource_server hodnoty.

Má závislost: spring-security-oauth2-client Má závislost: spring-security-oauth2-resource-server Platné hodnoty typu aplikace Default value
Yes No web_application web_application
No Ano resource_server resource_server
Ano Yes 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 prostředků k ověření cílové skupiny v přístupovém tokenu. Přístupový token je platný pouze v případech, kdy je cílová skupina rovna hodnotám vašeho-client-ID> nebo <your-app-ID-URI> popsané výše.<
spring.cloud.azure.active-directory.authorization-clients Mapa, která konfiguruje rozhraní API prostředků, které aplikace navštíví. 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 Přečtěte si 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 registrované aplikace v Microsoft Entra ID.
spring.cloud.azure.active-directory.credential.client-secret Tajný klíč klienta registrované aplikace.
spring.cloud.azure.active-directory.user-group.use-transitive-members Slouží v1.0/me/transitiveMemberOf k získání skupin, pokud je nastavená hodnota true. V opačném případě použijte /v1.0/me/memberOf.
spring.cloud.azure.active-directory.post-logout-redirect-uri Identifikátor URI přesměrování pro publikování odhlášení.
spring.cloud.azure.active-directory.profile.tenant-id ID tenanta Azure. Povolené hodnoty 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 udělena autorita v odpovědi z MemberOf volání rozhraní Graph API.
spring.cloud.azure.active-directory.user-name-attribute Určuje, která deklarace identity bude názvem objektu zabezpečení.

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

Příklad vlastnosti 1: Pokud chcete místo globálního Azure použít Azure China 21Vianet , 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í nebo národní cloud Azure.

Příklad vlastnosti 2: Pokud chcete použít název skupiny k ochraně některé metody ve webové aplikaci, postupujte takto:

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 DefaultAadWebSecurityConfigurerAdapter je nakonfigurována automaticky.

Možnost 2: Zadejte vlastní konfiguraci. Pokud chcete poskytnout konfiguraci, rozšiřte AadWebSecurityConfigurerAdapter třídu a volání super.configure(http) funkce configure(HttpSecurity http) , jak je znázorněno v následujícím příkladu:

@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class AadOAuth2LoginSecurityConfig extends AadWebSecurityConfigurerAdapter {

   /**
    * Add configuration logic as needed.
    */
   @Override
   protected void configure(HttpSecurity http) throws Exception {
       super.configure(http);
       http.authorizeRequests()
           .anyRequest().authenticated();
       // Do some custom configuration.
   }
}

K ochraně metody použijte poznámku @PreAuthorize , 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 takto:

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.");
}

Rozšířené funkce

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

Začátek podporuje vytvoření GrantedAuthority deklarace identity tokenu roles ID, která umožňuje použití tokenu ID pro autorizaci ve webové aplikaci. Pomocí funkce Microsoft Entra ID můžete appRoles vytvořit roles deklaraci identity a implementovat řízení přístupu.

Poznámka:

Deklarace roles identity vygenerovaná z appRoles je zdobena předponou APPROLE_.

Při použití appRoles jako roles deklarace identity se vyhněte konfiguraci atributu skupiny ve roles stejnou dobu. Jinak atribut skupiny přepíše deklaraci identity tak, aby obsahovala informace o skupině místo appRoles. 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 Postupy: Přidání rolí aplikace do aplikace a jejich přijetí v tokenu.

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

 "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ému

Povolení protokolování klienta

Sady Azure SDK pro Javu nabízejí konzistentní scénář protokolování, který pomáhá řešit 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. Pokyny k povolení protokolování najdete na wikiwebu protokolování .

Povolení 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í toho logging.level.<logger-name>=<level> , kde je jedna z úrovní TRACE, DEBUG, INFO, WARN, ERROR, FATAL nebo OFF. Kořenový protokolovací nástroj můžete nakonfigurovat pomocí .logging.level.root

Následující příklad ukazuje potenciální nastavení protokolová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 dokumentaci k aplikaci Spring.

Další kroky

Pokud se chcete dozvědět více o architektuře Spring a Azure, přejděte do centra dokumentace Spring v Azure.