http://qs321.pair.com?node_id=188206


in reply to Is there an off-the-shelf Online Membership solution?

My own approach was to use CGI::Application. The advantage I found was that a) support for HTML::Template is built-in, thus allowing me to use any template design I want. b) I can create a super-class that can auto-magically take care of session and user management each time one of my scripts runs. Basically it looks like this:

script.cgi:
use MySite::SubClass; my $webapp = MySite::SubClass->new(); $webapp->run();

MySite::SubClass:
package MySite::SubClass; use MySite::SuperClass; sub setup { # setup runmodes and script specific stuff # ...templates perhaps? } # … # runmodes subs and whatnot :) # … 1;

MySite::SuperClass:
package MySite::SuperClass; use base 'CGI::Application'; use CGI; # other modules here.. sub cgiapp_init { my $self = shift; # create database handler # do session management } sub teardown { my $self = shift; # dbh->disconnect } # … # other functions # … 1;
You can then create MySite::SubClass2 (etc…) which all use MySite::SuperClass and thus have session management taken care of.