Re: high level design from wiki
Roland Weber <[email protected]> Tue, 22 Jul 2008 07:09:00 +0200
| Newsgroups | gmane.comp.apache.incubator.projects |
|---|---|
| Message-ID | <[email protected]> |
Hi Angie, > This is what I had always envisioned when stating "user management". > Possibly a poor choice of words but the closest thing I could come up > with to what I thought needed implemented. Perhaps we should start > calling it "friend management" instead. Fine with me :-) >> When somebody tries to integrate the photo gallery >> with some existing "Web 2.0" infrastructure, then >> there will already be a user management system. >> Having our own instead of interfacing with a >> standard LDAP won't help then. > > Could we eventually just make "friend management" pluggable? For the time being, I consider the friend management a separate component that is responsible for handling invitations and acceptance of those. Once friendship is established between two users, that relationship is stored in the user management component or user repository, however you'd like to call it. I'm suggesting to use LDAP for the user repository, not for the friend management. So yes, I believe that friend management is pluggable. > Would that be easier than even going the LDAP route? See above. If you keep the users and established friendship relationships (groups) in the LDAP, you can use that for authentication, and you have a place where the access manager gets the required information from. Keeping users and groups in different repositories doesn't sound good to me. Using anything but LDAP to keep users means that people have to implement authentication code for every web container but the one(s) we choose to support out of the box. I know how to configure WebSphere to authenticate against almost any LDAP, but I'd have to write code to authenticate against a database with a custom layout. I didn't check what options Geronimo, JBoss or WebLogic provide. Maybe somebody else can add authentication details about those? I don't want to make a case for "just because of WebSphere". Tomcat definitely supports authentication against a database with quite some flexibility about the DB layout. But it handles LDAP, DB, and JAAS mutually exclusively. So in order to have a JAAS login with authentication against LDAP, we'll need a JAAS login module that authenticates against LDAP.* Still, it's better to write one JAAS login module than to write a new authentication plugin for every web container. cheers, Roland *) Java 6 comes with JAAS login modules that authenticate against LDAP or JNDI somewhere in the SUN-specific classes. But the principals they instantiate are also SUN-specific classes. The JavaDocs for JndiLoginModule indicate that the module handles password hashing itself with only one supported hash algorithm, so it is of limited usefuleness. http://java.sun.com/javase/6/docs/jre/api/security/jaas/spec/index.html