73 lines
1.9 KiB
Plaintext
73 lines
1.9 KiB
Plaintext
= A CRUD Spring LDAP application using Spring Boot
|
|
|
|
The application is protected by Spring Security and uses an embedded UnboundID container for its LDAP server.
|
|
|
|
You can authenticate with HTTP basic using `dante`/`secret`:
|
|
|
|
[source,bash]
|
|
----
|
|
curl --user dante:secret localhost:8080/people
|
|
----
|
|
|
|
And you should see a response like this one:
|
|
|
|
[source,bash]
|
|
----
|
|
[
|
|
[
|
|
{
|
|
"dn": "uid=dante,ou=people",
|
|
"lastName": "Alvarez",
|
|
"username": "dante"
|
|
},
|
|
{
|
|
"dn": "uid=hal,ou=people",
|
|
"lastName": "Hal",
|
|
"username": "hal"
|
|
},
|
|
{
|
|
"dn": "uid=may,ou=people",
|
|
"lastName": "May",
|
|
"username": "may"
|
|
},
|
|
// ...
|
|
}
|
|
----
|
|
|
|
Or, if you use `hal`/`sorrydave`, you'll see more information:
|
|
|
|
[source,bash]
|
|
----
|
|
[
|
|
{
|
|
"dn": "uid=dante,ou=people",
|
|
"lastName": "Alvarez",
|
|
"name": "Dante Alvarez",
|
|
"username": "dante"
|
|
},
|
|
{
|
|
"dn": "uid=hal,ou=people",
|
|
"lastName": "Hal",
|
|
"name": "Hal 2000",
|
|
"username": "hal"
|
|
},
|
|
{
|
|
"dn": "uid=may,ou=people",
|
|
"lastName": "May",
|
|
"name": "May Bea",
|
|
"username": "may"
|
|
},
|
|
// ...
|
|
----
|
|
|
|
The sample supports the following operations:
|
|
|
|
* `GET /people` - retrieve all the people in the application
|
|
* `GET /people/uid=may,ou=people` - retrieve May Bea's details; you can replace the DN with another one to see another person's information
|
|
* `GET /people/me` - retrieve the current user's details
|
|
* `POST /people` - add a new person, for example `{ "username": "newuser", "sn": "User", "cn": "New User" }`
|
|
* `PUT /people/uid=may,ou=people` - update May Bea's details, supports partial update; you can replace the DN with another one to make changes to a different entry
|
|
* `DELETE /people/uid=may,ou=people` - remove May Bea from the system; you can replace the DN with another one to remove a different entry
|
|
|
|
To run the sample, do `./gradlew :bootRun`.
|