Marc Hughes


Home
Blog
Twitter
LinkedIn
GitHub
about
I am a developer from a bit west of Boston.

Are there any open source user management systems?

08 Feb 2008

Blogs, CMS, bulletin boards, chat systems, social networks, most RIA's... they all have something in common.  Users.  Users need to sign up and log in.  Why is it that each system, even open source systems, end up implementing their own user management system?  I bet there's several million login form implementations out there by now, that's stupid.


Are there any open source stand alone user-management systems out there?  Something that does the basics and lets you build upon it.

I've seen plenty of user management systems integrated into other products, but they all seem tightly integrated into a much larger product.  I'd rather not start with a huge codebase (of potential security problems) and whittle it down.  I'd much prefer to have a simple, small system that handles things like:
  • Allowing users to sign up (email verification, catpcha support, configurable list of user details to require)
  • Assign various access levels (or attributes?) to users.
  • Allow users to log in / log out 
  • Detect multiple failed logins for a user or from a source host with configurable temporary lockouts
  • Provide a simple API to use in applications that build upon it to get login status & access level (preferably language-agnostic)
  • Mechanism for retrieval of forgotten passwords (email? security question(s)?, combination?)
  • Provide a simple html based UI to handle all of these functions (including administrative functions like approving, disabling, changing access, etc.).
  • Provide an XML-RPC based interface to perform all of the functions so it's easily customizable by application that build upon it.
Bonus points for 
  • A Java or PHP solution since that's what I'm generally working in :)
  • Time based subscriptions
  • Configurable database back end (MySql minimum)
  • Session inactivity timeouts
  • AS3 library
I've done a little searching, but haven't found a simple solution.  (Plenty of complex single-sign on solutions!)