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?


In reply to Managing web user registrations, accounts, sessions by dmorgo

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.