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

I have created a package which handles registration, login, keeping session through hidden values in forms which has interaction with the main code trough methods calls. The user info is stored in files. And it works fine. But it lacks "forget your id/pw" and automated payment interaction through PayPal.
All can be added, but I feel I am reinventing the wheel. There SHOULD BE a module which handles all this stuff professionally.
Does anybody know such module which he/she has a positive experience with?
  • Comment on Online Login/Register/Session/Payment module

Replies are listed 'Best First'.
Re: Online Login/Register/Session/Payment module
by Your Mother (Archbishop) on Feb 12, 2011 at 19:05 UTC

    It seems like it would be nice if there were but probably it wouldn’t be any fun at all because to support such a system you’d have to have a Byzantine, strongly coupled, self-limiting configuration system. There are dozens of moving parts, necessary human content in addition to code, and judgement calls in the UX flow.

    The pieces are all available though. You just have to choose and apply them. With Catalyst for example you have a very good session plugin sub-framework supporting any backend or style of sessioning you like. It plays nicely with the access control and authorization plugins. Any part you don’t like is easy to tweak or replace entirely though they’re so good you’d probably be foolish to try. It strikes a very sane and open balance between code and configuration. You can have it however you need and prefer it.

    There are a few PayPal kits on the CPAN. I haven’t used any so I have no recommendations but I’d bet at least one is good and someone here will likely chime in. You could use any of them as a Catalyst model with Catalyst::Model::Adaptor. You could use any email kit as a view and there are a few on the CPAN already.

    If this stuff seems too much to handle or your needs don’t include any customization you really might consider a pre-fab app like Joomla.