Guida per gli sviluppatori di Spring Boot Starter per Microsoft Entra
Questo articolo si applica a:✅ versione 4.19.0 ✅ versione 5.19.0
Questo articolo descrive le funzionalità e gli scenari principali di Spring Boot Starter per Microsoft Entra ID. L'articolo include anche indicazioni su problemi comuni, soluzioni alternative e passaggi di diagnostica.
Quando si crea un'applicazione Web, la gestione delle identità e degli accessi è fondamentale. Azure offre un servizio di gestione delle identità basato sul cloud con un'integrazione approfondita con il resto dell'ecosistema di Azure.
Anche se Spring Security semplifica la protezione delle applicazioni basate su Spring, non è adatta a un provider di identità specifico. Spring Boot Starter per Microsoft Entra ID consente di connettere l'applicazione Web a un tenant di Microsoft Entra e proteggere il server di risorse con Microsoft Entra ID. Usa il protocollo Oauth 2.0 per proteggere applicazioni Web e server di risorse.
I collegamenti seguenti forniscono l'accesso al pacchetto iniziale, alla documentazione e agli esempi:
Prerequisiti
Per seguire le istruzioni riportate in questa guida, è necessario disporre dei prerequisiti seguenti:
- Una sottoscrizione di Azure; Se non si ha già una sottoscrizione di Azure, è possibile attivare i vantaggi del sottoscrittore MSDN o iscriversi per ottenere un account Azure gratuito .
- Java Development Kit (JDK) supportato, versione 8 o successiva. Per altre informazioni, vedere supporto Java in Azure e Azure Stack.
- Apache Maven, versione 3.0 o successiva.
- Applicazione registrata con Microsoft Entra ID. Per altre informazioni, vedere Avvio rapido: Registrare un'applicazione con Microsoft Identity Platform.
Importante
Spring Boot versione 2.5 o successiva è necessario per completare i passaggi descritti in questo articolo.
Scenari principali
Questa guida descrive come usare Microsoft Entra Starter negli scenari seguenti:
- Accedere a un'applicazione Web
- Accedere ai server di risorse da un'applicazione Web
- Proteggere un server delle risorse o un'API
- Accedere ad altri server di risorse da un server di risorse
- Applicazione Web e server di risorse in un'unica applicazione
Un'applicazione Web è qualsiasi applicazione basata sul Web che consente a un utente di accedere. Un server di risorse accetterà o negherà l'accesso dopo la convalida di un token di accesso.
Accedere a un'applicazione Web
Questo scenario usa la Il flusso di concessione del codice di autorizzazione OAuth 2.0 per consentire a un utente di accedere con un account Microsoft.
Per usare Microsoft Entra Starter in questo scenario, seguire questa procedura:
Impostare l'URI di reindirizzamento su <application-base-uri>/login/oauth2/code/. Ad esempio: http://localhost:8080/login/oauth2/code/
. Assicurati di includere il /
finale. Per altre informazioni sull'URI di reindirizzamento, vedere Aggiungere un URI di reindirizzamento in Avvio rapido: Registrare un'applicazione con Microsoft Identity Platform.
Aggiungere le dipendenze seguenti al file pom.xml.
<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>
Nota
Per altre informazioni su come gestire le versioni delle librerie di Azure Spring Cloud usando una distinta base, vedere la sezione Introduzione della guida per sviluppatori Spring Cloud di Azure.
Aggiungere le proprietà seguenti al file application.yml. È possibile ottenere i valori per queste proprietà dalla registrazione dell'app creata nel portale di Azure, come descritto nei prerequisiti.
spring:
cloud:
azure:
active-directory:
enabled: true
profile:
tenant-id: <tenant>
credential:
client-id: <your-client-ID>
client-secret: <your-client-secret>
Nota
I valori consentiti per tenant-id
sono: common
, organizations
, consumers
o l'ID tenant. Per ulteriori informazioni su questi valori, consultare la sezione Utilizzato l'endpoint sbagliato (account personali e organizzativi) di Errore AADSTS50020 - L'account utente del provider di identità non esiste nel tenant. Per informazioni sulla conversione della tua app a tenant singolo in multi-tenant, vedere Convertire app a tenant singolo in multi-tenant in Microsoft Entra ID.
Usare la configurazione di sicurezza predefinita o specificare la propria configurazione.
Opzione 1: usare la configurazione predefinita.
Con questa opzione non è necessario eseguire alcuna operazione. La classe DefaultAadWebSecurityConfiguration
viene configurata automaticamente.
Opzione 2: specificare una configurazione personalizzata.
Per fornire una configurazione, applicare il metodo AadWebApplicationHttpSecurityConfigurer#aadWebApplication
per l'HttpSecurity
, come illustrato nell'esempio seguente:
@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();
}
}
Accedere ai server delle risorse da un'applicazione Web
Per usare Microsoft Entra Starter in questo scenario, seguire questa procedura:
Impostare l'URI di reindirizzamento come descritto in precedenza.
Aggiungere le dipendenze seguenti al file pom.xml.
<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>
Nota
Per ulteriori informazioni su come gestire le versioni delle librerie Spring Cloud Azure usando una bill of materials (BOM), vedere la sezione Introduzione della guida per sviluppatori Spring Cloud Azure.
Aggiungere le proprietà seguenti al file application.yml, come descritto in precedenza:
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
Nota
I valori consentiti per tenant-id
sono: common
, organizations
, consumers
o l'ID tenant. Per ulteriori informazioni su questi valori, consultare la sezione Endpoint errato utilizzato (account personali e organizzativi) di Errore AADSTS50020 - L'account utente del provider di identità non esiste nel tenant. Per informazioni sulla conversione dell'app a tenant singolo, vedere Convertire l'app a tenant singolo in multi-tenant su Microsoft Entra ID.
In questo caso, graph
è il nome del OAuth2AuthorizedClient
e scopes
sono gli ambiti necessari per il consenso al momento del login.
Aggiungere codice all'applicazione simile all'esempio seguente:
@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);
}
In questo caso, graph
è l'ID client configurato nel passaggio precedente.
OAuth2AuthorizedClient
contiene il token di accesso, usato per accedere al server di risorse.
Per un esempio completo che illustra questo scenario, vedere esempio spring-cloud-azure-starter-active-directory: aad-web-application.
Proteggere un server di risorse o un'API
Questo scenario non supporta l'accesso, ma protegge il server convalidando il token di accesso. Se il token di accesso è valido, il server gestisce la richiesta.
Per usare Microsoft Entra Starter in questo scenario, seguire questa procedura:
Aggiungere le dipendenze seguenti al file pom.xml.
<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>
Nota
Per ulteriori informazioni su come gestire le versioni delle librerie Spring Cloud Azure utilizzando un BOM (Bill of Materials), vedere la sezione Introduzione della guida per sviluppatori Spring Cloud Azure.
Aggiungere le proprietà seguenti al file application.yml, come descritto in precedenza:
spring:
cloud:
azure:
active-directory:
enabled: true
credential:
client-id: <your-client-ID>
app-id-uri: <your-app-ID-URI>
È possibile utilizzare sia i valori di <your-client-ID> sia di <your-app-ID-URI> per verificare il token di accesso. È possibile ottenere il valore <your-app-ID-URI> dal portale di Azure, come illustrato nelle immagini seguenti.
Usare la configurazione di sicurezza predefinita o specificare la propria configurazione.
Opzione 1: usare la configurazione predefinita.
Con questa opzione non è necessario eseguire alcuna operazione. La classe DefaultAadResourceServerConfiguration
viene configurata automaticamente.
Opzione 2: Fornire una configurazione personalizzata.
Per fornire una configurazione, applicare il metodo AadResourceServerHttpSecurityConfigurer#aadResourceServer
per l'HttpSecurity
, come illustrato nell'esempio seguente:
@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();
}
}
Per un esempio completo che illustra questo scenario, consultare l'esempio spring-cloud-azure-starter-active-directory: aad-resource-server.
Accedere ad altri server di risorse da un server di risorse
Questo scenario supporta un server di risorse che visita altri server di risorse.
Per usare Microsoft Entra Starter in questo scenario, seguire questa procedura:
Aggiungere le dipendenze seguenti al file pom.xml.
<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>
Nota
Per ulteriori informazioni su come gestire le versioni delle librerie di Spring Cloud Azure utilizzando una BOM (Bill of Materials), consultare la sezione Introduzione della guida per sviluppatori di Spring Cloud Azure.
Aggiungere le proprietà seguenti al file application.yml.
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
Nota
I valori consentiti per tenant-id
sono: common
, organizations
, consumers
o l'ID tenant. Per altre informazioni su questi valori, vedere la sezione Usato l'endpoint errato (account personali e aziendali) di Errore AADSTS50020 - L'account utente del provider di identità non esiste nel tenant. Per informazioni sulla conversione della tua app a tenant singolo, vedere Convertire l'app da tenant singolo a multitenant su Microsoft Entra ID.
Usare l'attributo @RegisteredOAuth2AuthorizedClient
nel codice per accedere al server risorse correlato, come illustrato nell'esempio seguente:
@PreAuthorize("hasAuthority('SCOPE_Obo.Graph.Read')")
@GetMapping("call-graph")
public String callGraph(@RegisteredOAuth2AuthorizedClient("graph") OAuth2AuthorizedClient graph) {
return callMicrosoftGraphMeEndpoint(graph);
}
Per un esempio completo che illustra questo scenario, vedere l'esempio spring-cloud-azure-starter-active-directory: aad-resource-server-obo.
Applicazione Web e server risorse in un'unica applicazione
Questo scenario supporta Accedere a un'applicazione web e Proteggere un server di risorse/API in un'unica applicazione.
Per usare aad-starter
in questo scenario, seguire questa procedura:
Aggiungere le dipendenze seguenti al file pom.xml.
<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>
Nota
Per ulteriori informazioni su come gestire le versioni delle librerie di Spring Cloud Azure usando un BOM (bill of materials), vedere la sezione Introduzione della guida per sviluppatori Spring Cloud Azure.
Aggiornare il file application.yml. Impostare la proprietà spring.cloud.azure.active-directory.application-type
su web_application_and_resource_server
e specificare il tipo di autorizzazione per ogni client di autorizzazione, come illustrato nell'esempio seguente.
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
Nota
I valori consentiti per tenant-id
sono: common
, organizations
, consumers
o l'ID tenant. Per ulteriori informazioni su questi valori, consultare la sezione Usato l'endpoint errato (account personali e dell'organizzazione) di Errore AADSTS50020 - L'account utente del provider di identità non esiste nel tenant. Per informazioni su come convertire l'app a tenant-singolo in multi-tenant, vedere Convertire l'app a tenant-singolo in multi-tenant in Microsoft Entra ID.
Scrivere codice Java per configurare più istanze di HttpSecurity
.
Nel codice di esempio seguente AadWebApplicationAndResourceServerConfig
contiene due fagioli della catena di filtri di sicurezza, uno per un server di risorse e uno per un'applicazione Web. Il bean apiFilterChain
ha una priorità alta per configurare il generatore di sicurezza del server di risorse. Il bean htmlFilterChain
ha una priorità bassa per configurare il generatore di sicurezza delle applicazioni Web.
@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();
}
}
Tipo di applicazione
La proprietà spring.cloud.azure.active-directory.application-type
è facoltativa perché il relativo valore può essere dedotto dalle dipendenze. È necessario impostare manualmente la proprietà solo quando si utilizza il valore web_application_and_resource_server
.
Ha la dipendenza: spring-security-oauth2-client | Ha una dipendenza: spring-security-oauth2-resource-server | Valori validi del tipo di applicazione | Valore predefinito |
---|---|---|---|
Sì | No | web_application |
web_application |
No | Sì | resource_server |
resource_server |
Sì | Sì |
web_application ,resource_server ,resource_server_with_obo , web_application_and_resource_server |
resource_server_with_obo |
Proprietà configurabili
Spring Boot Starter per Microsoft Entra ID fornisce le proprietà seguenti:
Proprietà | Descrizione |
---|---|
spring.cloud.azure.active-directory.app-id-uri | Usato dal server di risorse per convalidare il gruppo di destinatari nel token di accesso. Il token di accesso è valido solo quando il gruppo di destinatari è uguale al <tuo-ID-client> o <il tuo-ID-URI-app> descritti in precedenza. |
spring.cloud.azure.active-directory.authorization-clients | Mappa che configura le API delle risorse che l'applicazione visiterà. Ogni elemento corrisponde a un'API di risorsa che verrà visitata dall'applicazione. Nel codice Spring ogni elemento corrisponde a un oggetto OAuth2AuthorizedClient . |
spring.cloud.azure.active-directory.authorization-clients.<nome-del-client>ambiti | Autorizzazioni API di un server di risorse che l'applicazione acquisirà. |
spring.cloud.azure.active-directory.authorization-clients.<nome-del-tuo-client>.authorization-grant-type | Tipo di client di autorizzazione. I tipi supportati sono authorization_code (tipo predefinito per l'applicazione web), on_behalf_of (tipo predefinito per il server delle risorse), client_credentials. |
spring.cloud.azure.active-directory.application-type | Fare riferimento a Tipo di applicazione. |
spring.cloud.azure.active-directory.profile.environment.active-directory-endpoint | URI di base per il server di autorizzazione. Il valore predefinito è https://login.microsoftonline.com/ . |
spring.cloud.azure.active-directory.credential.client-id | ID dell'applicazione registrato in Microsoft Entra ID. |
spring.cloud.azure.active-directory.credential.client-secret | Segreto client dell'applicazione registrata. |
spring.cloud.azure.active-directory.user-group.use-transitive-members | Usare v1.0/me/transitiveMemberOf per ottenere i gruppi se impostato su true. In caso contrario, usare /v1.0/me/memberOf . |
spring.cloud.azure.active-directory.post-logout-redirect-uri | URI di reindirizzamento per la registrazione della disconnessione. |
spring.cloud.azure.active-directory.profile.tenant-id | ID del tenant di Azure. I valori consentiti per tenant-id sono: common , organizations , consumers o l'ID tenant. |
spring.cloud.azure.active-directory.user-group.allowed-group-names | I gruppi di utenti previsti ai quali sarà concessa un'autorità se è presente nella risposta della chiamata all'API Graph MemberOf . |
spring.cloud.azure.active-directory.user-name-attribute | Indica quale dichiarazione sarà il nome del principale. |
Gli esempi seguenti illustrano come usare queste proprietà:
Esempio di proprietà 1: Per utilizzare Azure China 21Vianet invece di Azure Global, segui il passaggio seguente.
Aggiungere le proprietà seguenti al file application.yml:
spring: cloud: azure: active-directory: enabled: true profile: environment: active-directory-endpoint: https://login.partner.microsoftonline.cn
Con questo metodo, è possibile usare un cloud sovrano o nazionale di Azure anziché il cloud pubblico di Azure.
Proprietà esempio 2: Per usare un nome di gruppo per proteggere un metodo in un'applicazione Web, seguire questa procedura:
Aggiungi la proprietà seguente al file application.yml:
spring:
cloud:
azure:
active-directory:
enabled: true
user-group:
allowed-groups: group1, group2
Usare la configurazione di sicurezza predefinita o specificare la propria configurazione.
Opzione 1: usare la configurazione predefinita. Con questa opzione non è necessario eseguire alcuna operazione. La classe DefaultAadWebSecurityConfiguration
viene configurata automaticamente.
Opzione 2: fornire una configurazione auto-definita. Per fornire una configurazione, applicare il metodo AadWebApplicationHttpSecurityConfigurer#aadWebApplication
per l'HttpSecurity
, come illustrato nell'esempio seguente:
@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();
}
}
Usare l'annotazione @PreAuthorize
per proteggere il metodo , come illustrato nell'esempio seguente:
@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";
}
}
Proprietà esempio 3: Per abilitare il flusso delle credenziali client in un server di risorse che interagisce con altri server di risorse, seguire questa procedura:
Aggiungere la proprietà seguente al file application.yml:
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
Aggiungere codice all'applicazione simile all'esempio seguente:
@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.");
}
Funzionalità avanzate
Supportare il controllo di accesso in base al token ID in un'applicazione Web
Lo starter supporta la creazione di GrantedAuthority
dalla dichiarazione roles
di un token ID per consentire l'uso del token ID per l'autorizzazione in un'applicazione web. È possibile usare la funzionalità appRoles
di Microsoft Entra ID per creare un'attestazione roles
e implementare il controllo di accesso.
Nota
L'attestazione roles
generata da appRoles
è contrassegnata dal prefisso APPROLE_
.
Quando si usa appRoles
come attestazione roles
, evitare di configurare un attributo di gruppo come roles
contemporaneamente. In caso contrario, l'attributo di gruppo sovrascriverà l'attestazione e conterrà informazioni sul gruppo anziché appRoles
. È consigliabile evitare la configurazione seguente nel manifesto:
"optionalClaims": {
"idtoken": [{
"name": "groups",
"additionalProperties": ["emit_as_roles"]
}]
}
Per supportare il controllo di accesso in base al token ID in un'applicazione Web, seguire questa procedura:
Aggiungere ruoli dell'app nell'applicazione e assegnarli a utenti o gruppi. Per altre informazioni, vedere Procedura: Aggiungere ruoli dell'app all'applicazione e riceverli nel token.
Aggiungere la seguente configurazione appRoles
al file di manifest dell'applicazione.
"appRoles": [
{
"allowedMemberTypes": [
"User"
],
"displayName": "Admin",
"id": "2fa848d0-8054-4e11-8c73-7af5f1171001",
"isEnabled": true,
"description": "Full admin access",
"value": "Admin"
}
]
Aggiungere codice all'applicazione simile all'esempio seguente:
@GetMapping("Admin")
@ResponseBody
@PreAuthorize("hasAuthority('APPROLE_Admin')")
public String Admin() {
return "Admin message";
}
Risoluzione dei problemi
Abilitare la registrazione del client
Gli SDK di Azure per Java offrono un sistema di log coerente per diagnosticare e risolvere gli errori delle applicazioni. I log prodotti acquisiranno il flusso di un'applicazione prima di raggiungere il terminale, consentendo di individuare il problema radice. Per indicazioni sull'abilitazione della registrazione, vedere il wiki di registrazione.
Abilitare la registrazione dei log di Spring
Spring consente a tutti i sistemi di registrazione supportati di impostare i livelli del logger nell'ambiente Spring (ad esempio, in application.properties) usando logging.level.<logger-name>=<level>
dove il livello è uno tra TRACE, DEBUG, INFO, WARN, ERROR, FATAL o OFF. È possibile configurare il logger radice usando logging.level.root
.
L'esempio seguente mostra le potenziali impostazioni di logging nel file application.properties.
logging.level.root=WARN
logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR
Per ulteriori informazioni sulla configurazione dei log in Spring, vedere Logging nella documentazione di Spring.
Passaggi successivi
Per altre informazioni su Spring e Azure, passare al Centro documentazione di Spring in Azure.