The user must first have an account within aC with the same username that allows them to authenticate against the AD.
Doesn't this destroy the purpose of an LDAP based login? We have one place where our user data is stored and that is on the Server and we authenticate through LDAP. The whole idea about it is to only have our admin staying sane and having to administer only one set of user data.
Do you store all your cleint logins on that server? Avatars? activeCollab specific settings?
This morning I've wrote some ideas on new authentication system and basically you'll be able check credentials against any source (LDAP, OpenID etc), but your function will need to return activeCollab User object.
Example: you select that you want to authenticate with username and password against your LDAP authentication system. Your authentication class goes and checks if username and password are OK. Great, they are - query users table to see if we have an activeCollab account that match login data - if there is return it, if not create a new account and return.
Basically, account will need to be present in database, but you'll be able to check credentials any way you like.
Future versions of activeCollab will come with classic authentication system that we have today + OpenID. If someone provides good LDAP authentication adapter it will be included but I don't think that I'll be the person to write it (don't know anything about LDAP to be honest) :)
Well, at the moment we don't have client logins only users within the company. These exist as server profiles so we can log in on every machine here and get our workspace. We also have a Dokuwiki setup that authenticaes against LDAP (http://wiki.splitbrain.org/wiki%3Aacl). It is set up so we have a default user with user rights and two admins with complete rights. The wiki gets this data from the LDAP server. So technically speaking we don't have any users in the Dokuwiki database at all.
That works fine for the wiki, but I see the restriction in combination with activeCollab Ilija. I like your example though. Check if user exists if not create it. An elegant solution.
I don't know anything about LDAP really. I just enabled it on the Dokuwiki installation and it worked — and quite nice, too. So I thought that is how it is supposed to be. I might be totally wrong though.
Anyway I am looking forward to a possible plugin that allows LDAP support and how it will solve this. Is there any timeframe for the 0.8 release (which did suport the API already, right?) yet?
Thing is that I'll provide a hook in activeCollab to include your own authentication routines and someone will eventually come out with LDAP support. I remember someone offering that contribution, but current authentication system does not allow to be extended (only way to make it work is to hack the source and than you have problems with upgrade and stuff like that).
Doesn't this destroy the purpose of an LDAP based login? We have one place where our user data is stored and that is on the Server and we authenticate through LDAP. The whole idea about it is to only have our admin staying sane and having to administer only one set of user data.
Or do I misunderstand the whole idea behind LDAP?
Warmly,
Alex