Hi,
I added another identity store implementation and example; the
LdapIdentityStore.
In the simplest case it's used as follows (the attribute names are all
defaulted here):
@LdapIdentityStoreDefinition(
url = "ldap://localhost:33389/",
callerBaseDn = "ou=caller,dc=jsr375,dc=net",
groupBaseDn = "ou=group,dc=jsr375,dc=net"
)
See
https://github.com/arjantijms/mechanism-to-store-x/blob/master/app-ldap/src/main/java/test/Servlet.java#L19
It's backed by a still simple identity store implementation. It now
supports what I think is a fairly standard modelling of users and roles in
LDAP, but I readily admit I'm not the biggest LDAP expert and I realise
that a more practically usable LDAP identity store needs a few more
options. The amount of possible modelings of users/roles in LDAP is truly
bewildering, so we may need some discussion of what to support here.
See
https://github.com/arjantijms/mechanism-to-store-x/blob/master/jsr375/src/main/java/org/glassfish/jsr375/identitystores/LDapIdentityStore.java
The example application uses an embedded in-memmory LDAP server, I choose
the one from Unboundid. Naturally, this embedded server is only used for
the example application, not for the JSR 375 implementation or API.
See
https://github.com/arjantijms/mechanism-to-store-x/blob/master/app-ldap/src/main/java/test/LdapSetup.java
Kind regards,
Arjan Tijms