Commit 43a534f4 authored by Stephane Nicoll's avatar Stephane Nicoll

Polish contribution

Closes gh-8195
parent fa8f0a61
...@@ -113,15 +113,17 @@ public class EmbeddedLdapAutoConfiguration { ...@@ -113,15 +113,17 @@ public class EmbeddedLdapAutoConfiguration {
if (!this.embeddedProperties.getValidation().isEnabled()) { if (!this.embeddedProperties.getValidation().isEnabled()) {
config.setSchema(null); config.setSchema(null);
} }
else if (this.embeddedProperties.getValidation().getSchema() != null) { else {
Resource schemaLocation = this.embeddedProperties.getValidation().getSchema(); Resource schema = this.embeddedProperties.getValidation().getSchema();
try { if (schema != null) {
config.setSchema(Schema.mergeSchemas(Schema.getDefaultStandardSchema(), try {
Schema.getSchema(schemaLocation.getFile()))); config.setSchema(Schema.mergeSchemas(Schema.getDefaultStandardSchema(),
} Schema.getSchema(schema.getInputStream())));
catch (Exception ex) { }
throw new IllegalStateException( catch (Exception ex) {
"Unable to load schema " + schemaLocation.getDescription(), ex); throw new IllegalStateException(
"Unable to load schema " + schema.getDescription(), ex);
}
} }
} }
......
...@@ -50,7 +50,7 @@ public class EmbeddedLdapProperties { ...@@ -50,7 +50,7 @@ public class EmbeddedLdapProperties {
private String ldif = "classpath:schema.ldif"; private String ldif = "classpath:schema.ldif";
/** /**
* Schema validation * Schema validation.
*/ */
private Validation validation = new Validation(); private Validation validation = new Validation();
...@@ -90,7 +90,7 @@ public class EmbeddedLdapProperties { ...@@ -90,7 +90,7 @@ public class EmbeddedLdapProperties {
return this.validation; return this.validation;
} }
static class Credential { public static class Credential {
/** /**
* Embedded LDAP username. * Embedded LDAP username.
...@@ -120,15 +120,15 @@ public class EmbeddedLdapProperties { ...@@ -120,15 +120,15 @@ public class EmbeddedLdapProperties {
} }
static class Validation { public static class Validation {
/** /**
* Enable LDAP schema validation * Enable LDAP schema validation.
*/ */
private boolean enabled = true; private boolean enabled = true;
/** /**
* Path to the custom schema file * Path to the custom schema.
*/ */
private Resource schema; private Resource schema;
......
...@@ -323,11 +323,13 @@ content into your application; rather pick only the properties that you need. ...@@ -323,11 +323,13 @@ content into your application; rather pick only the properties that you need.
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.base-dn= # The base DN
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.ldif=classpath:schema.ldif # Schema (LDIF) script resource reference. spring.ldap.embedded.ldif=classpath:schema.ldif # Schema (LDIF) script resource reference.
spring.ldap.embedded.port= # Embedded LDAP port.
spring.ldap.embedded.validation.enabled=true # Enable LDAP schema validation.
spring.ldap.embedded.validation.schema= # Path to the custom schema.
# 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.
......
...@@ -3991,6 +3991,10 @@ If there is a `schema.ldif` file on your classpath it will be used to initialize ...@@ -3991,6 +3991,10 @@ If there is a `schema.ldif` file on your classpath it will be used to initialize
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
the initialization script from a different resource. the initialization script from a different resource.
By default, a standard schema will be used to validate `LDIF` files, you can turn off
validation altogether using the `spring.ldap.embedded.validation.enabled` property. If
you have custom attributes, you can use `spring.ldap.embedded.validation.schema` to define
your custom attribute types or object classes.
[[boot-features-caching]] [[boot-features-caching]]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment