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

Hi-

Before writing from scratch, I am wondering if any good generic modules exist that could be used for a web-based user profile/account management system. Something which would allow a configurable schema for a user profile, store encrypted password, allow for authentication, send an email to "verify" the account before activation, handle lost passwords, ACL/user rights, add/edit/delete users, etc, etc. It is not so much the interface I'm interested in, moreso the backend database methods.

Any suggestions for things to look at would be great. I'd love to not re-invent the wheel where possible.

Thanks,

Matt
  • Comment on user profile/account management modules?

Replies are listed 'Best First'.
Re: user profile/account management modules?
by Ieronim (Friar) on Jul 21, 2006 at 20:28 UTC
    Have a look at CGI::Application, especially at CGI::Application::Plugin::Authentication. Another good idea is to take pieces of wisdom from a Perl-driven forum, like YaBB.

    Unfortunately, YaBB is plain-file-based,so it's source code will make little hep if you want to communicate with a SQL dtabase engine. But the source code of Ikonboard can help :)


         s;;Just-me-not-h-Ni-m-P-Ni-lm-I-ar-O-Ni;;tr?IerONim-?HAcker ?d;print
Re: user profile/account management modules?
by leocharre (Priest) on Jul 21, 2006 at 16:21 UTC

    This is extremely dangerous.(you *are* talking about a shell account?)

    I have this application that lets multiple users log in and see things, upload things, create sub users, and allow them or not allow them to see stuff.

    I originally intended to tie in real tight with the os (linux), but.. you'd have to run as root , or something would have to- to create and manage accounts. I thought that was asking for trouble.

    Think about it. Root access to a machine's accounts/permissions stuff.. via http.

    At least if you maybe forced ssl?

    Another thing I considered to solve this problem, was to maybe enable the web interface (via ssl, passwords, catchas .. etc) to 'queue' the creation of a user.. to queue the setting of permissions.

    Afterwards, an admin could look over the requests via the web.. and allow them or not.

      Sorry, I wasn't clear. I am *NOT* talking about a shell account.

      I am talking about a generic user account/database membership backend to be used in a web-based environment. As you would see in a social networking site like myspace, community portals, or any site requiring user profiles and membership.

      Matt

        A relational database is a good solution if you have data that will .. 'relate'. *ahem*

        Are you going to be asking things like 'how many users are logged in?'?
        If not, you could set it up in flat files.- text.

        Something I like a lot for this kind of thing is CGI::Session and CGI::Validate.

Re: user profile/account management modules?
by blahblahblah (Priest) on Jul 25, 2006 at 02:45 UTC
    Hi JupiterCrash,

    I saw a very similar thread last week here: Web application development. Unfortunately, the resolution there also was that there is no great existing module/system to fit your need. eric256's comments in the thread seem interesting.

    -Joe

A reply falls below the community's threshold of quality. You may see it by logging in.