jsr375-experts@javaee-security-spec.java.net

[jsr375-experts] Re: Working example app demonstrating identity store usage

From: arjan tijms <arjan.tijms_at_gmail.com>
Date: Sun, 13 Dec 2015 23:58:52 +0100

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