Ú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:
- Předplatné Azure; Pokud ještě nemáte předplatné Azure, můžete 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 Stack.
- Apache Maven, verze 3.0 nebo vyšší.
- Aplikace zaregistrovaná u Microsoft Entra ID. Další informace najdete v tématu Rychlý start: Registrace aplikace na platformě Microsoft Identity Platform.
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á 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 .
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
, consumers
nebo 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 HttpSecurity
metodu 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
, consumers
nebo 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 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);
}
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:
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 HttpSecurity
metodu 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
, consumers
nebo 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_server
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
Hodnoty povolené pro 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í 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 , consumers nebo 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 HttpSecurity
metodu 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 appRoles
obsahoval 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
, FATAL
nebo 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.