Ú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:
- Předplatné Azure. Pokud ještě předplatné Azure nemáte, můžete si aktivovat výhody pro předplatitele MSDN nebo si zaregistrovat bezplatný účet Azure.
- Podporovaná sada Java Development Kit (JDK), verze 8 nebo vyšší. Další informace najdete v tématu Podpora Javy v Azure a Azure Stacku.
- Apache Maven verze 3.0 nebo vyšší.
- Aplikace zaregistrovaná v Microsoft Entra ID. Další informace naleznete v tématu Rychlý start: registrace aplikace pomocí platformy identity Microsoft.
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:
- Přístup k webové aplikaci
- Přístup k serverům prostředků z webové aplikace
- Ochrana serveru prostředků nebo rozhraní API
- Přístup k jiným serverům prostředků ze serveru prostředků
- Webová aplikace a server prostředků v jedné aplikaci
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.
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
, consumers
nebo 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
, consumers
nebo 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 OAuth2AuthorizedClient
a 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:
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
, consumers
nebo 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_server
hodnotu 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
, consumers
nebo 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 , consumers nebo 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.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro