Merge branch '1.5.x'

pull/6437/merge
Stephane Nicoll 8 years ago
commit f4f5a70cb2

@ -58,7 +58,7 @@ public class LdapHealthIndicatorTests {
} }
@Test @Test
public void indicatorExist() { public void indicatorExists() {
this.context.register(LdapAutoConfiguration.class, this.context.register(LdapAutoConfiguration.class,
LdapDataAutoConfiguration.class, LdapDataAutoConfiguration.class,
PropertyPlaceholderAutoConfiguration.class, PropertyPlaceholderAutoConfiguration.class,

@ -28,7 +28,7 @@ import org.springframework.data.ldap.repository.LdapRepository;
import org.springframework.data.ldap.repository.support.LdapRepositoryFactoryBean; import org.springframework.data.ldap.repository.support.LdapRepositoryFactoryBean;
/** /**
* {@link EnableAutoConfiguration Auto-configuration} for Spring Data's Couchbase * {@link EnableAutoConfiguration Auto-configuration} for Spring Data's LDAP
* Repositories. * Repositories.
* *
* @author Eddú Meléndez * @author Eddú Meléndez

@ -36,7 +36,7 @@ public class LdapProperties {
private static final int DEFAULT_PORT = 389; private static final int DEFAULT_PORT = 389;
/** /**
* LDAP urls. * LDAP URLs.
*/ */
private String[] urls; private String[] urls;
@ -56,7 +56,7 @@ public class LdapProperties {
private String password; private String password;
/** /**
* LDAP custom environment properties. * LDAP specification settings.
*/ */
private Map<String, String> baseEnvironment = new HashMap<String, String>(); private Map<String, String> baseEnvironment = new HashMap<String, String>();

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2016 the original author or authors. * Copyright 2012-2017 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -87,7 +87,9 @@ public class UserInfoTokenServices implements ResourceServerTokenServices {
throws AuthenticationException, InvalidTokenException { throws AuthenticationException, InvalidTokenException {
Map<String, Object> map = getMap(this.userInfoEndpointUrl, accessToken); Map<String, Object> map = getMap(this.userInfoEndpointUrl, accessToken);
if (map.containsKey("error")) { if (map.containsKey("error")) {
this.logger.debug("userinfo returned error: " + map.get("error")); if (this.logger.isDebugEnabled()) {
this.logger.debug("userinfo returned error: " + map.get("error"));
}
throw new InvalidTokenException(accessToken); throw new InvalidTokenException(accessToken);
} }
return extractAuthentication(map); return extractAuthentication(map);
@ -123,7 +125,9 @@ public class UserInfoTokenServices implements ResourceServerTokenServices {
@SuppressWarnings({ "unchecked" }) @SuppressWarnings({ "unchecked" })
private Map<String, Object> getMap(String path, String accessToken) { private Map<String, Object> getMap(String path, String accessToken) {
this.logger.debug("Getting user info from: " + path); if (this.logger.isDebugEnabled()) {
this.logger.debug("Getting user info from: " + path);
}
try { try {
OAuth2RestOperations restTemplate = this.restTemplate; OAuth2RestOperations restTemplate = this.restTemplate;
if (restTemplate == null) { if (restTemplate == null) {

@ -315,18 +315,18 @@ content into your application; rather pick only the properties that you need.
spring.jersey.type=servlet # Jersey integration type. spring.jersey.type=servlet # Jersey integration type.
# SPRING LDAP ({sc-spring-boot-autoconfigure}/ldap/LdapProperties.{sc-ext}[LdapProperties]) # SPRING LDAP ({sc-spring-boot-autoconfigure}/ldap/LdapProperties.{sc-ext}[LdapProperties])
spring.ldap.urls= # LDAP url of the server. spring.ldap.urls= # LDAP URLs of the server.
spring.ldap.base= # Base suffix from which all operations should originate. spring.ldap.base= # Base suffix from which all operations should originate.
spring.ldap.username= # Login user of the server. spring.ldap.username= # Login user of the server.
spring.ldap.password= # Login password of the server. spring.ldap.password= # Login password of the server.
spring.ldap.base-environment.*= # Ldap specification settings. spring.ldap.base-environment.*= # LDAP specification settings.
# EMBEDDED LDAP ({sc-spring-boot-autoconfigure}/ldap/embedded/EmbeddedLdapProperties.{sc-ext}[EmbeddedLdapProperties]) # EMBEDDED LDAP ({sc-spring-boot-autoconfigure}/ldap/embedded/EmbeddedLdapProperties.{sc-ext}[EmbeddedLdapProperties])
spring.ldap.embedded.port= # Embedded LDAP port. spring.ldap.embedded.port= # Embedded LDAP port.
spring.ldap.embedded.credential.username= # Embedded LDAP username. spring.ldap.embedded.credential.username= # Embedded LDAP username.
spring.ldap.embedded.credential.password= # Embedded LDAP password. spring.ldap.embedded.credential.password= # Embedded LDAP password.
spring.ldap.embedded.base-dn= # The base DN spring.ldap.embedded.base-dn= # The base DN
spring.ldap.embedded.ldif= # Schema (LDIF) script resource reference. spring.ldap.embedded.ldif=classpath:schema.ldif # Schema (LDIF) script resource reference.
# SPRING MOBILE DEVICE VIEWS ({sc-spring-boot-autoconfigure}/mobile/DeviceDelegatingViewResolverAutoConfiguration.{sc-ext}[DeviceDelegatingViewResolverAutoConfiguration]) # SPRING MOBILE DEVICE VIEWS ({sc-spring-boot-autoconfigure}/mobile/DeviceDelegatingViewResolverAutoConfiguration.{sc-ext}[DeviceDelegatingViewResolverAutoConfiguration])
spring.mobile.devicedelegatingviewresolver.enable-fallback=false # Enable support for fallback resolution. spring.mobile.devicedelegatingviewresolver.enable-fallback=false # Enable support for fallback resolution.

@ -3877,11 +3877,11 @@ implementation.
[[boot-features-ldap]] [[boot-features-ldap]]
=== LDAP === LDAP
https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol[LDAP] (Lightweight https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol[LDAP] (Lightweight
Directory Access Protocol) is an is an open, vendor-neutral, industry standard application Directory Access Protocol) is an open, vendor-neutral, industry standard application
protocol for accessing and maintaining distributed directory information services over an protocol for accessing and maintaining distributed directory information services over an
IP network. Spring Boot offers auto-configuration for any compliant LDAP server as well IP network. Spring Boot offers auto-configuration for any compliant LDAP server as well
as support for the embedded in-memory LDAP server from as support for the embedded in-memory LDAP server from
https://www.ldap.com/unboundid-ldap-sdk-for-java[Unbounded]. https://www.ldap.com/unboundid-ldap-sdk-for-java[UnboundID].
LDAP abstractions are provided by LDAP abstractions are provided by
https://github.com/spring-projects/spring-data-ldap[Spring Data LDAP]. https://github.com/spring-projects/spring-data-ldap[Spring Data LDAP].
@ -3940,7 +3940,7 @@ other Spring Bean.
[[boot-features-ldap-embedded]] [[boot-features-ldap-embedded]]
==== Embedded in-memory LDAP server ==== Embedded in-memory LDAP server
For testing purposes Spring Boot supports auto-configuration of an in-memory LDAP server For testing purposes Spring Boot supports auto-configuration of an in-memory LDAP server
from https://www.ldap.com/unboundid-ldap-sdk-for-java[Unbounded]. To configure the server from https://www.ldap.com/unboundid-ldap-sdk-for-java[UnboundID]. To configure the server
add a dependency to `com.unboundid:unboundid-ldapsdk` and declare a `base-dn` property: add a dependency to `com.unboundid:unboundid-ldapsdk` and declare a `base-dn` property:
[source,properties,indent=0] [source,properties,indent=0]
@ -3948,8 +3948,8 @@ add a dependency to `com.unboundid:unboundid-ldapsdk` and declare a `base-dn` pr
spring.ldap.embedded.base-dn=dc=spring,dc=io spring.ldap.embedded.base-dn=dc=spring,dc=io
---- ----
By default the server will start on a random port and the trigger the regular LDAP support By default the server will start on a random port and they trigger the regular LDAP support
(there is not need to specify a `spring.ldap.urls` property). (there is no need to specify a `spring.ldap.urls` property).
If there is a `schema.ldif` file on your classpath it will be used to initialize the If there is a `schema.ldif` file on your classpath it will be used to initialize the
server. You can also use the `spring.ldap.embedded.ldif` property if you want to load server. You can also use the `spring.ldap.embedded.ldif` property if you want to load

@ -44,12 +44,6 @@ public class SampleLdapApplication implements CommandLineRunner {
System.out.println("Person found with findByPhone('+46 555-123456'):"); System.out.println("Person found with findByPhone('+46 555-123456'):");
System.out.println("--------------------------------"); System.out.println("--------------------------------");
System.out.println(this.repository.findByPhone("+46 555-123456")); System.out.println(this.repository.findByPhone("+46 555-123456"));
//
// System.out.println("Customers found with findByLastName('Smith'):");
// System.out.println("--------------------------------");
// for (Customer customer : this.repository.findByLastName("Smith")) {
// System.out.println(customer);
// }
} }
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {

@ -43,7 +43,7 @@ public class SampleHypermediaUiSecureApplicationTests {
} }
@Test @Test
public void testInSecureNestedPath() throws Exception { public void testInsecureNestedPath() throws Exception {
ResponseEntity<String> entity = this.restTemplate.getForEntity("/env", ResponseEntity<String> entity = this.restTemplate.getForEntity("/env",
String.class); String.class);
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK); assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK);

@ -30,7 +30,7 @@ import org.springframework.beans.factory.ObjectFactory;
import org.springframework.util.ClassUtils; import org.springframework.util.ClassUtils;
/** /**
* {@link ObjectFactory} that can be used to create a {@link MessageInterpolatorFactory}. * {@link ObjectFactory} that can be used to create a {@link MessageInterpolator}.
* Attempts to pick the most appropriate {@link MessageInterpolator} based on the * Attempts to pick the most appropriate {@link MessageInterpolator} based on the
* classpath. * classpath.
* *

Loading…
Cancel
Save