dmorgo has asked for the wisdom of the Perl Monks concerning the following question:

Is there a nice module that handles all the details of user account creation, login, and management?

I've looked on CPAN but have not found anything that seems to do this. Is everyone just crafting their own from scratch?

What I have in mind is something that would interact with Class::DBI or other DBI modules and make it simple to manage the complexities.

Users arrive at a site, and let's say they are not logged in at first. They should be able to start using the site without being logged in -- for example, if the site has a "my recently visited pages" feature, that should be updated even though they are not logged in. Then when they decide to register or log in, the accumulated state should be associated with the newly identified user account.

Then there are all the other details of managing logins and registrations: maybe a captcha, maybe a confirmation email -- all these could be handled by other modules, but there should be a module that ties all this stuff together. In my dream world there would also be support for administration -- deactivating spammer accounts through a web UI, for example.

Is there any module that handles these kind of things? Am I dreaming? Or what combination of modules are people using when they build login/registration/account administration functionality?

  • Comment on Managing web user registrations, accounts, sessions

Replies are listed 'Best First'.
Re: Managing web user registrations, accounts, sessions
by derby (Abbot) on Jul 28, 2007 at 23:26 UTC

    If you're looking for an *out of the box* solution and you don't have a legacy site that you're trying to bolt something onto, you're much better off swallowing the framework pill and using something like Catalyst or, forgive the heresy, Rails or Django.

    -derby
      Thanks. Yes I was hoping to avoid something large, or something in another language (the issue there being the hosting choices are much more limited). But maybe I can take a deep breath and try Catalyst one of these days.
Re: Managing web user registrations, accounts, sessions
by Burak (Chaplain) on Jul 28, 2007 at 21:22 UTC
    That's really an application specific feature. There is no such global method to handle users. I've thought of it before, but such a system will be either too hard (you have to support some unlimited number of ways) to implement or impossible. You have to implement a new one for every application :)

    However, there are generic applications like MS Passport or Bitcard but these might not be good from your point of view.

Re: Managing web user registrations, accounts, sessions
by scorpio17 (Canon) on Jul 29, 2007 at 02:10 UTC
      Thanks, this looks like the perfect next step for me! I'm already fairly familiar with CGI::Application and HTML::Template, just never have used them to build a site with logins.