Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
f96294b6
Commit
f96294b6
authored
Jan 06, 2017
by
Phillip Webb
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add LDAP sample
Add an LDAP sample application. See gh-7733
parent
10de30ff
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
284 additions
and
0 deletions
+284
-0
pom.xml
spring-boot-samples/pom.xml
+1
-0
pom.xml
spring-boot-samples/spring-boot-sample-data-ldap/pom.xml
+50
-0
Person.java
...mple-data-ldap/src/main/java/sample/data/ldap/Person.java
+39
-0
PersonRepository.java
...ldap/src/main/java/sample/data/ldap/PersonRepository.java
+25
-0
SampleLdapApplication.java
...src/main/java/sample/data/ldap/SampleLdapApplication.java
+59
-0
application.properties
...ample-data-ldap/src/main/resources/application.properties
+1
-0
schema.ldif
...ring-boot-sample-data-ldap/src/main/resources/schema.ldif
+62
-0
SampleLdapApplicationTests.java
...est/java/sample/data/ldap/SampleLdapApplicationTests.java
+47
-0
No files found.
spring-boot-samples/pom.xml
View file @
f96294b6
...
...
@@ -38,6 +38,7 @@
<module>
spring-boot-sample-data-elasticsearch
</module>
<module>
spring-boot-sample-data-gemfire
</module>
<module>
spring-boot-sample-data-jpa
</module>
<module>
spring-boot-sample-data-ldap
</module>
<module>
spring-boot-sample-data-mongodb
</module>
<module>
spring-boot-sample-data-neo4j
</module>
<module>
spring-boot-sample-data-redis
</module>
...
...
spring-boot-samples/spring-boot-sample-data-ldap/pom.xml
0 → 100644
View file @
f96294b6
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<!-- Your own application should inherit from spring-boot-starter-parent -->
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-samples
</artifactId>
<version>
1.5.0.BUILD-SNAPSHOT
</version>
</parent>
<artifactId>
spring-boot-sample-data-ldap
</artifactId>
<name>
Spring Boot Data LDAP Sample
</name>
<description>
Spring Boot Data LDAP Sample
</description>
<url>
http://projects.spring.io/spring-boot/
</url>
<organization>
<name>
Pivotal Software, Inc.
</name>
<url>
http://www.spring.io
</url>
</organization>
<properties>
<main.basedir>
${basedir}/../..
</main.basedir>
</properties>
<dependencies>
<!-- Compile -->
<dependency>
<groupId>
com.unboundid
</groupId>
<artifactId>
unboundid-ldapsdk
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-data-ldap
</artifactId>
</dependency>
<!-- Test -->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-test
</artifactId>
<scope>
test
</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
</plugins>
</build>
</project>
spring-boot-samples/spring-boot-sample-data-ldap/src/main/java/sample/data/ldap/Person.java
0 → 100644
View file @
f96294b6
/*
* Copyright 2012-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
sample
.
data
.
ldap
;
import
javax.naming.Name
;
import
org.springframework.ldap.odm.annotations.Attribute
;
import
org.springframework.ldap.odm.annotations.Entry
;
import
org.springframework.ldap.odm.annotations.Id
;
@Entry
(
objectClasses
=
{
"person"
,
"top"
})
public
class
Person
{
@Id
private
Name
dn
;
@Attribute
(
name
=
"telephoneNumber"
)
private
String
phone
;
@Override
public
String
toString
()
{
return
String
.
format
(
"Customer[dn=%s, phone='%s']"
,
this
.
dn
,
this
.
phone
);
}
}
spring-boot-samples/spring-boot-sample-data-ldap/src/main/java/sample/data/ldap/PersonRepository.java
0 → 100644
View file @
f96294b6
/*
* Copyright 2012-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
sample
.
data
.
ldap
;
import
org.springframework.data.ldap.repository.LdapRepository
;
public
interface
PersonRepository
extends
LdapRepository
<
Person
>
{
Person
findByPhone
(
String
phone
);
}
spring-boot-samples/spring-boot-sample-data-ldap/src/main/java/sample/data/ldap/SampleLdapApplication.java
0 → 100644
View file @
f96294b6
/*
* Copyright 2012-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
sample
.
data
.
ldap
;
import
org.springframework.boot.CommandLineRunner
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
@SpringBootApplication
public
class
SampleLdapApplication
implements
CommandLineRunner
{
private
final
PersonRepository
repository
;
public
SampleLdapApplication
(
PersonRepository
repository
)
{
this
.
repository
=
repository
;
}
@Override
public
void
run
(
String
...
args
)
throws
Exception
{
// fetch all people
System
.
out
.
println
(
"People found with findAll():"
);
System
.
out
.
println
(
"-------------------------------"
);
for
(
Person
person
:
this
.
repository
.
findAll
())
{
System
.
out
.
println
(
person
);
}
System
.
out
.
println
();
// fetch an individual person
System
.
out
.
println
(
"Person found with findByPhone('+46 555-123456'):"
);
System
.
out
.
println
(
"--------------------------------"
);
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
{
SpringApplication
.
run
(
SampleLdapApplication
.
class
,
args
).
close
();
}
}
spring-boot-samples/spring-boot-sample-data-ldap/src/main/resources/application.properties
0 → 100644
View file @
f96294b6
spring.ldap.embedded.base-dn
=
dc=spring,dc=org
spring-boot-samples/spring-boot-sample-data-ldap/src/main/resources/schema.ldif
0 → 100644
View file @
f96294b6
dn: dc=spring,dc=org
objectclass: top
objectclass: domain
objectclass: extensibleObject
dc: spring
dn: ou=groups,dc=spring,dc=org
objectclass: top
objectclass: organizationalUnit
ou: groups
dn: cn=ROLE_USER,ou=groups,dc=spring,dc=org
objectclass: top
objectclass: groupOfUniqueNames
cn: ROLE_USER
uniqueMember: cn=Some Person,ou=company1,c=Sweden,dc=spring,dc=org
uniqueMember: cn=Some Person2,ou=company1,c=Sweden,dc=spring,dc=org
uniqueMember: cn=Some Person,ou=company1,c=Sweden,dc=spring,dc=org
uniqueMember: cn=Some Person3,ou=company1,c=Sweden,dc=spring,dc=org
dn: cn=ROLE_ADMIN,ou=groups,dc=spring,dc=org
objectclass: top
objectclass: groupOfUniqueNames
cn: ROLE_ADMIN
uniqueMember: cn=Some Person2,ou=company1,c=Sweden,dc=spring,dc=org
dn: c=Sweden,dc=spring,dc=org
objectclass: top
objectclass: country
c: Sweden
description: The country of Sweden
dn: ou=company1,c=Sweden,dc=spring,dc=org
objectclass: top
objectclass: organizationalUnit
ou: company1
description: First company in Sweden
dn: cn=Alice Smith,ou=company1,c=Sweden,dc=spring,dc=org
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
uid: alice.smith
userPassword: password
cn: Alice Smith
sn: Alice Smith
description: Sweden, Company1, Alice Smith
telephoneNumber: +46 555-123456
dn: cn=Bob Smith,ou=company1,c=Sweden,dc=spring,dc=org
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
uid: bob.smith
userPassword: password
cn: Bob Smith
sn: Bob Smith
description: Sweden, Company1, Some Person2
telephoneNumber: +46 555-654321
spring-boot-samples/spring-boot-sample-data-ldap/src/test/java/sample/data/ldap/SampleLdapApplicationTests.java
0 → 100644
View file @
f96294b6
/*
* Copyright 2012-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
sample
.
data
.
ldap
;
import
org.junit.ClassRule
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.boot.test.rule.OutputCapture
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
/**
* Tests for {@link SampleLdapApplication}.
*
* @author Phillip Webb
*/
@RunWith
(
SpringRunner
.
class
)
@SpringBootTest
public
class
SampleLdapApplicationTests
{
@ClassRule
public
static
OutputCapture
outputCapture
=
new
OutputCapture
();
@Test
public
void
testDefaultSettings
()
throws
Exception
{
String
output
=
outputCapture
.
toString
();
assertThat
(
output
).
contains
(
"cn=Alice Smith"
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment