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

After searching through CPAN and browsing several content management system, the question that I have is as follows: Is there a module providing all necessary functionality for Web registration?

I am looking for a module that could be embedded into existing project and allow the user to register on the Web site with username/password/e-mail, then activate the account after confirmation arrives in the e-mail, and then be reminded of their passwords via e-mail when they forget about it.

Other than that basic functionality I am not looking for a whole lot more. Authentication could be done via either cookies, session variables or embedded session id in the URL itself.

Writing the whole thing from scratch just seems too redundant with multitudes of sites out there, and content management systems seem to have implemented more powerful functionality than I am looking for.

Replies are listed 'Best First'.
Re: Easy Web registration module
by exussum0 (Vicar) on Dec 28, 2003 at 03:54 UTC
    Well well. Unfortunately no, but all the parts are around. You have...
    ...the DBI and the DBD suite of modules for storing your data
    ... CGI.pm for dealing with cookies, thus, logins
    ... various validation modules for various bits and pieces of data

    There ARE portals out there, which wouldn't be in CPAN. ubb is there, but that's a BBS service more than anything else. There is slashcode, but that may be over doing things a bit. I guess I have to ask.. what is the rest of your site doing? What is the user logging in TO?

    Play that funky music white boy..
Re: Easy Web registration module
by chanio (Priest) on Dec 28, 2003 at 18:24 UTC
    Yes!

    I am studying CGI::Session . It comes with a complete tutorial and it is possible to combine with CGI::Application and HTML::Template.

    Things shall never be the same with such a dream team!

      I would say that CGI::Session, and following the examples from the CGI::Session Cookbook, will give you everything you need.

      The only problem is that the examples given in the Cookbook have a couple of annoying typos and errors in them.

      If you look at this page you'll find that the

      init($cgi, $session)
      doesn't match the
      sub init { my ($session, $cgi) = @_;
      and that the text file is PROFILE in one place and PROFILES in another. Those annoyances made it rather difficult for me to get started, but after that everything worked fine.

      I have written to the author about the errors by the way.



      ($_='kkvvttuubbooppuuiiffssqqffssmmiibbddllffss') =~y~b-v~a-z~s; print