ApacheDS som LDAP server för auktorisering i Java EE
- tor 4 feb, 2010 kl 18:38
- 3 kommentarer
- JEE, Säkerhet
ApacheDS – Apache Directory Server
Om man sitter i ett projekt och ska implementera ”rollbaserad auktorisering” i sin applikation, så att en användare i en grupp A ska få göra en sak och en användare i en grupp B ska få göra en annan, så kan det hända att man behöver använda LDAP-funktionalitet i kombination med ”J2EE form based authentication” eller liknande.
Om man då inte vill använda det vanliga Microsoft Active Directoryt på företaget, i utveckling/unit-testning, utan istället ha något eget att använda lokalt så finns det lite olika directory tjänster som man kan använda. En av de mer kända som varit med ett tag är OpenLDAP. Apache DS är ett annat som är skrivet helt i Java och stödjer fler protokoll än OpenLDAP och det är hyfsat smidigt att använda, särskilt om man har en färdig ldif-fil, med användare och grupper, att importera.
ApacheDS är ett projekt som skapades för några år sen som idag har uppnått en ganska bra mognad. Det är inte helt perfekt, särskilt dokumentationen, men det är hyfsat smidigt att använda. Om du planerar att arbeta med något/några av följande så kan det vara värt att kika närmare på denna open source-produkt.
* J2EE role based authentication
* Spring security
* Tomcat/JBoss/WebSphere
* Unittests with LDAP functionality
* Tester med Kerberos för Single SignOn för intranätsapplikationer.
Det finns också en Eclipseplugin för att koppla upp sig mot directory servern på ett smidigt sätt. Denna plugin fungerar också mot Active Directory.
Lite mer information:
http://sv.wikipedia.org/wiki/LDAP
http://en.wikipedia.org/wiki/Apache_Directory_Server
http://directory.apache.org/
Har du nån länk till Eclipse-pluggen?
Japp! Du kan ladda ner Apache Directory Studio så får du allt klart. Annars om du har en befintlig Eclipse, som jag har, så lägger du till pluginen med denna URL:
http://directory.apache.org/studio/update/1.x
Efter det kan du switcha till ett ”LDAP perspective” och sätta upp en ny koppling mot LDAP servern. Exempelvis antingen lokalt då för ApacheDS om du kör det eller mot företagets Active Directory.
http://directory.apache.org/studio/installation-in-eclipse.html
http://directory.apache.org/studio/downloads.html
… eller företagets OpenLDAP-installation (slapd) :)